Всех читателей приветствую в первом посте 2012 года! Сегодня хочу рассказать о файле .htaccess, для чего он вообще и что в нём прописывать. В основном, файл .htaccess, находится в корне вашего сайта. Редактировать его можно любым текстовым редактором, например Блокнотом.
Что писать в файл .htaccess?
Сам файл .htaccess представляет набор правил для сервера Apache и его модулей. Модулей существует очень много, но в основном работают с несколькими. Самый популярный – mod_rewrite, благодаря которому, на наших сайтах существует ЧПУ (человекопонятные урлы). Полный список настроек для апача можно посмотреть здесь, а для модуля mod_rewrite – здесь.
Для SEO оптимизации, в файле .htaccess есть несколько важных настроек, которые мы сегодня и рассмотрим.
Настройка главной страницы. Как правило, переходя на главную страницу сайта, мы запрашиваем страницу index.html или index.php. В файле .htaccess нужно чётко прописать поисковому роботу, на какую страницу ему идти, чтобы не создавать дублирование главной страницы. Для этого воспользуемся редиректом 301:Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^aledv.ru
RewriteRule (.*) http://www.aledv.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www. aledv.ru/ [R=301,L]
Здесь, при помощь 301 редиректа, мы направляем всех посетителей и поисковых роботов на страничку http://www.aledv.ru/index.html. Таким образом вес главной страницы не будет раскидываться на страницы-дубли.
Настройка страницы 404 ошибки. Если у вас не сделана страница для 404 ошибки, то пора бы её уже сделать. На эту страницу пользователь будет переходить в том случае, если кликнет по ссылке, которая ведёт на несуществующую страницу вашего сайта.Сделать редирект на страницу с 404 ошибкой можно в файле .htaccess:ErrorDocument 404 http://aledv.ru/404.php
С помощью этого метода можно обрабатывать и другие ошибки, которые могут возникнуть на сайте.
301 редирект. Если нужно направить пользователя со старой страницы на новую, то в файле .htaccess нужно прописать следующий код:Redirect 301 / old.html http://aledv.ru/new.html.А если нужно организовать редирект с группы страниц, что нужно использоватьRedirectMatch:RedirectMatch (.*)\.gif$ http://www.aledv.ru$1.jpg
Сохранить файл вместо открытия. Наверное каждый сталкивался с такой проблемой: хочешь скачать архив, жмёшь на ссылочку для скачки и вместо предложения сохранить файл в браузере отображается множество страниц с непонятными символами. Эту проблему опять же можно вылечить в файле .htaccess: AddType application/octet-stream .rar .doc .mov .avi .pdf .xls .mp4Нужные расширения можно добавлять при надобности. Эта настройка особенно важна для различных торрентов.
Создание человекопонятных ссылок (ЧПУ). Если нужно сделать несколько ЧПУ, то можно сделать это в ручную, в файле .htaccess. Для примера возьму такую ссылку http://aledv.ru/category?var=1776 и превратим её в http://aledv.ru/category/var/1776. Что бы это реализовать, в файле .htaccess пишем:RewriteEngine on
RewriteRule category/(.*)/(.*)/$ /var.php?$1=$2
Если страниц на сайте очень много, что вручную прописать для всех ссылок ЧПУ просто невозможно.
Убираем дубли страниц с обратным слешом в конце УРЛа. Чтобы ПС не индексировали страницы http://aledv.ru/o-bloge и http://aledv.ru/o-bloge/ как две разных страницы, про пишем в .htaccess такой код:RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ /$1/ [R=301,L]
Эти команды перенапрявят пользователя со страницы без слеша, на страницу со слешем.
Эти примеры должны немного оптимизировать ваш сайт под ПС. Главное, что нужно помнить при работе с файлом .htaccess: перед любыми изменениями этого файла, сделайте его бекап! Если, где-то ошиблись то сайт может вообще потерять работоспособность. Поэтому всегда нужно иметь под рукой предыдущую, рабочую версию файла .htaccess.