Что такое файл htaccess - как настроить и использовать его?
. .

СЛОВАРИ:

.htaccess ←

Настройки Апач хранятся в httpd.conf, действуя при этом на все размещенные сайты. В то же время, многие проекты требуют использования специфических правил, задать которые помогает файл htaccess. Прописанные в нем директивы распространяются только на текущую директорию, а также на вложенные каталоги. Этот факт активно используют провайдеры, предоставляющие услуги виртуального хостинга. Хотя клиенты не имеют административных привилегий, они получают возможность настраивать любые модули веб-сервера под конкретный веб-ресурс.

Области применения настроек htaccess весьма широки:
• Замена стандартных страниц ошибок на собственные;
• Управление правами доступа к директориям и отдельным файлам;
• Комплексное перенаправление (преобразование динамических ссылок в ЧПУ);
• Директивы простой переадресации (создание редиректа в htaccess);
• Обеспечение безопасности веб-проекта (защита от вирусов, хакерских атак и т.д.).

Проблематика: дублированием контента CMS

Если html-документ доступен одновременно по двум адресам, поисковые системы будут воспринимать его как пару разных страниц даже если ссылки отличаются лишь одним символом. Такое техническое удвоение – одна из самых распространенных болезней подавляющего большинства современных движков, как бесплатных, так и коммерческих. Это влечет за собой:
• Падение темпа индексации за счет фактического увеличения числа внутренних URL;
• Снижение уникальности контента, представленного на площадке в глазах поисковиков;
• Переиндексация релевантных документов с потерей показателей (тИЦ, PR, Траст);
• Размытие ссылочного веса между копиями.

Практика: редиректы в htaccess

Алгоритм действий выглядит следующим образом:
1. Устанавливаем наличие проблемы в рамках курируемого проекта. Для этих целей можно воспользоваться Google Webmaster (набор бесплатных инструментов для вебмастеров от поисковика Гугл). В разделе “Оптимизация HTML” нас будут интересовать “Повторяющиеся заголовки (title)”, по которым удобно искать как одиночные, так и массовые дубли. Последние также выявляются вручную путем проверки доступности ресурса по адресу с www и без www, со слэшем и без на конце и т.д.

Подготовка к настройки файла htaccess

2. Обычно единичные случаи являются следствием багов или неправильных действий администрации. Таким образом, все решается удалением найденных копий.
3. Если дублирование вызвано особенностями движка, стоит обратиться к настройкам htaccess. Для создания редиректов используется модуль Rewrite веб-сервера Апач. Разберем наиболее часто встречающиеся ситуации.

Ссылки с обратным слэшем и без на конце

Если нам нужен адрес вида http://seoslovar.ru/, добавляем такую конструкцию:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.*)/$
RewriteRule ^(.*)/$ /$1 [R=301,L]
</IfModule>

Для http://seoslovar.ru справедлива иная запись:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
</IfModule>

Домены с www и без www

Чтобы получить http://seoslovar.ru/, добавим в htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.seoslovar\.ru$ [NC]
RewriteRule ^(.*)$ http://tekseo.su/$1 [R=301,L]
</IfModule>

Сделать единственно верным вариантом http://www.seoslovar.ru/ можно так:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^seoslovar\.ru$ [NC]
RewriteRule ^(.*)$ http://www.tekseo.su/$1 [R=301,L]
</IfModule>

Удаление index.php

Избавиться от указания индексного файла можно следующим образом:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://tekseo.su/ [R=301,L]
</IfModule>

Данный способ редиректа в htaccess универсален. В зависимости от типа движка, вместо php можно подставить html, py и другие окончания.

Комментарий SEO-специалиста

В ходе мероприятий по внутренней оптимизации зачастую уделяется недостаточно внимания такому фактору, как время отклика, притом совершенно напрасно. Яндекс и Гугл учитывают доступность сайта при ранжировании, кроме того, высокая скорость загрузки делает ресурс более привлекательным для посетителей. Поэтому необходимо придерживаться нескольких важных рекомендаций:

1. Используйте регулярные выражения. Помните – чем больше значимых строк содержится в файле, тем дольше будут обрабатываться запросы, поэтому их количество следует максимально сократить. Подробнее о метасимволах вы можете прочитать в руководстве по htaccess для SEO-оптимизатора (http://tekseo.su/vnutrennyaya-optimizatsiya/301-redirect-i-chpu-cherez-htaccess.php)
2. Настройте кэширование статики. Сделать это можно с помощью такой конструкции:

<ifModule mod_headers.c>
<FilesMatch "\.(gif|jpg|jpeg|png|ico|gif|flv|swf|pdf|doc|txt)$">
Header set Cache-Control "max-age=58060800, private"
</FilesMatch>
</IfModule>

Теперь изображения, видео и документы будут храниться в кэше два года (указывается в секундах).

3. Защитите проект от хотлинкинга (подключение к стороннему веб-ресурсу изображений с вашего сайта), неизбежно увеличивающим нагрузку на сервер. Чтобы предотвратить пагубное воздействие на мощность хостинга добавьте в файл htaccess следующее правило:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?seoslovar\.ru/ [NC]
RewriteCond %{REQUEST_URI} !copyright\.gif$ [NC]
RewriteRule \.(jpg|jpeg|gif|bmp|png)$ http://www.seoslovar.ru/images/copyright.jpg [L]
</IfModule>

В данном примере последний блок задает редирект на copyright.jpg – заглушку, которая будет выводится вместо любых картинок, подключенных методом хотлинкинга.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *