• Как для двух доменов одного сайта, запретить индексацию одного из их?

    @dmitryim
    Мы решаем на уровне веб-сервера (nginx).

    Добавляем во все конфиги наших сайтов примерно такой блок (отдельным включаемым файлом, конечно):

    location /robots.txt {
        set $disallow_indexing '';
    
        if ($host ~ demo\.) {
            set $disallow_indexing 'yes';
        }
    
        if ($disallow_indexing = 'yes') {
            root /var/www/html;
        }
        if ($disallow_indexing != 'yes') {
            proxy_pass      $proxy_addr;
        }
    }


    Содержимое /var/www/html/robots.txt:

    User-agent: *
    Disallow: /


    Итого получается, что если запрашивается robots.txt с домена demo.site.ru, то ему отдается Disallow. Если же домен не содержит demo, то отдается тот robots.txt, который лежит в проекте.

    Решение получается надежным и удобным т.к. не приходится помнить про каждый отдельный проект - все демо домены закрываются автоматически.
    Ответ написан
    1 комментарий
  • Про парсинг с помощью библиотеки phpexcel?

    @dmitryim
    PhpExcel очень классная и универсальная штука. Получение значения ячейки и получение ее формулы - производятся разными отдельными методами. Насколько помню, библиотека поставляется с большим числом примеров (или тестов?), где все прекрасно описано.
    Ответ написан
    Комментировать
  • Почему файл из mPDF не открывает Chrome?

    @dmitryim
    Рекомендую открыть результирующий файл в текстовом редакторе и убедиться, что в нем нет ничего лишнего (лишних пробелов в начале, ошибок РНР и другого мусора).
    Ответ написан
    2 комментария
  • Как составить (настроить) RewriteCond для .htaccess?

    @dmitryim
    Попробуйте добавить в начало следующее правило:
    RewriteRule ^(.*/)index\.php(.*) /$1$2 [L,R=301]
    Ответ написан
    1 комментарий
  • Как показать див встплываеющий как меню в диве с overflow:hidden?

    @dmitryim
    Внутри дива с overflow:hidden показать обрезаемое содержимое не получится. Поэтому, по идее, есть два варианта:

    1) Убрать у родительского дива overflow:hidden
    элемент главного меню {position:relative;}
    контейнер подменю {position:absolute; top:Npx; left:Mpx; display:none;}
    контейнер подменю:hover {display:block;}
    Таким образом, скрытое подменю будет показываться только при наведении на родительский элемент меню.

    2) Использовать JS, чтобы вынести подменю за рамки родительского контейнера (переместив его, например, прямо в body) и спозиционировать где требуется.
    Ответ написан
    Комментировать
  • Апач не использует все доступные слоты?

    @dmitryim Автор вопроса
    Как нередко бывает — все оказалось намного проще)

    Настройки я смотрел и менял только в файле /etc/httpd/conf/httpd.conf (который реально используется).

    Но оказалось что всё что касается префорка хоть и было указано в основном файле, но также было продублировано в отдельный файл /etc/httpd/conf.d/prefork.conf — его я сразу не заметил =\

    Всем спасибо за помощь, плюс вам в карму! :)
    Ответ написан
    Комментировать
  • Посоветуйте зеркалку, пожалуйста

    @dmitryim
    Когда себе выбирал остановился на 550D. О выборе ни разу не пожалел: всё что нужно есть, качество отличное, легкий, HD видео снимает (пригодилось единственный раз, но результат очень радует). Также пишут, что у него матрица такая же как у 7d.
    Ответ написан
    Комментировать
  • Алгоритм сравнения текстовых строк?

    @dmitryim
    Дополнительно, после разбиения строки на слова, их можно сравнивать с помощью levinshtein(). Потом с учетом длины слова получать коэффициент похожести. Таким образом можно с довольно точно определять схожесть, даже если допущена опечатка в слове, или если оно написано немного иначе.
    Ну и дополнительный бонус — транслитерация строки и очистка ее от мусора.
    Ответ написан
    Комментировать