Это обыкновенный текстовый файл, который нужно создать в стандартной программе «Блокнот» и разместить в корневом каталоге сайта.
В подавляющем большинстве случаев .htaccess уже будет лежать в корневом каталоге, так что можно просто редактировать его в «Блокноте» или встроенном редакторе FTP-клиента.
Что писать в .htaccess
В этом настроечном файле можно писать как правила работы для ядра Apache, так и для подключаемых модулей, из которых для нас интерес представляет mod_rewrite. (Во времена оны нужно было убедиться, что хостер его установил. Но в 2011-м году крайне сложно найти хостинг-провайдера, не подключающего этот модуль Apache, так что беспокоиться не стоит).
Несмотря на упрощенность (все ненужное простому оптимизатору таинство Apache сконцентрировано в другом файле настроек – httpd.conf), полные перечени функций и базового синтаксиса доступных настроек [http://httpd.apache.org/docs/2.2/howto/htaccess.html] и, в частности, настроек mod_rewrite [http://www.egoroff.spb.ru/portfolio/apache/mod_rewrite.html] – немаленькие документы. Веб-разработчик может получить абсолютно полный контроль над сервером, но, к счастью, поисковая оптимизация этого не требует. Вполне достаточно знать основные команды!
Комментарий в .htaccess предваряется символом # – строку, перед которой стоит решетка, веб-сервер обрабатывать не будет. Комментируйте даже такой небольшой код, как правила для Apache, и вы даже через год или два сможете легко вспомнить, зачем нужна та или иная настройка.
Главная страница без дублей
Обычно код главной страницы физически расположен в файле /index.html (или index.php – для большинства динамических сайтов), но сайт должен открываться по любому из запросов: yoursite.ru, yoursite.ru/index.html,www.yoursite.ru и www.yoursite.ru/index.html. Но для поисковых систем это четыре разных URL! Если не настроить .htaccess верно, поисковик добавит в свой индекс четыре одинаковых страницы. Это признак некачественного сайта. Избежать этой проблемы можно с помощью такого кода в .htaccess:
Все страницы-дубли будут склеены редиректом с кодом 301 («постоянное перемещение») с главной страницей –http://www.yoursite.ru/. Перед этим, конечно, нужно проверить, как «Яндекс» проиндексировал сайт – с www или без. Желательно также назначить совпадающее основное зеркало в файле robots.txt.
Строгий URL страницы 404
Чтобы убедиться, что сервер будет выдавать именно ту страницу 404, которую вы подготовили и создали, а не служебную или какую-либо еще, добавьте такую строчку:
Для группового редиректа нужно использовать RedirectMatch – эта команда маски URL и имен файлов.
Сохранение файлов вместо открытия
Многие видели, как при попытке скачать архив с расширением .rar браузер открывает его в виде простого текста из мешанины символов. Это значит, что на сервере сайта не настроено принудительное сохранение типов файлов, которые не должны открываться в браузере.
Настоятельно рекомендуем использовать настройки, которые предоставляет ваша CMS. Собственно, непонятные длинные URL возникают только при использовании CMS (на статическом сайте их не бывает). Следовательно, используйте настройки и модули CMS для настройки – во всех современных движках такие возможности есть.
Для их корректной работы в .htaccess должна быть строчка RewriteEngine On (включение mod_rewrite). Настройка же ЧПУ с помощью «голого» .htaccess – дело достаточно кропотливое. Например, чтобы превратить URL типаwww.yoursite.ru/script.php?tv=123 в более понятный www.site.ru/samsung/tv/123/, пишем вот такие строчки (RewriteEngine On нужно писать в том случае, если раньше в .htaccess mod_rewrite еще не был подключен):
RewriteEngine on
RewriteRule samsung/(.*)/(.*)/$ /script.php?$1=$2
Понятно, что для успешной настройки ЧПУ таким способом нужно освоить весь синтаксис .htaccess и немало потрудиться. Гораздо проще, повторимся, пользоваться средствами CMS.
Со страниц без слэша будет установлен редирект на «слэшевые».
Все приведенные выше примеры не стоит бездумно копировать в .htaccess вашего сайта. Разберитесь, есть ли у вашего сайта описанная проблема, можно ли ее решить с помощью приведенного выражения, а потом уже правьте код. Обязательно сохраните копию файла .htaccess до того, как начнете вносить изменения!