Редирект 301 настройка, правила и примеры
- Подробности
- Категория: оптимизатор
- Автор: SEO & WEB — KELL4
Редирект или перенаправление необходимо не только для перевода пользователей с одних страниц на другие, но и для правильной оптимизации сайта, а так же для исправления ошибок и переноса сайта на другой хостинг. Поэтому каждому начинающему веб разработчику необходимо знать, что такое REDIRECT и с чем его едят, а точнее как использовать.
Зачем нужен 301 редирект?
А нужен он как для роботов поисковых систем, так и для пользователей в сети. Редирект служит для переадресации, показывает правильное направление на страницы сайта, домены, поддомены и т.д. В тоже время поддерживает позиции в поисковых системах. Для настройки переадресации используются в основном системные файлы в каталоге сайта: .htaccess, htaccess.txt или httpd.conf, но кроме этого редирект может настраиваться и в DNS и в настройках сервера (хостинга).
Знание принципов работы 301 редиректа является основой SEO, причиной тому служит конечно же поисковая оптимизация.
Виды редиректов (переадресаций) и их статус
- постоянный (permanent) — 301 ресурс перемещен навсегда.
- временный (temp) — 302 ресурс перемещен временно.
- другая страница (seeother) — 303 ресурс заменен.
- уведенный (gone) — 410 ресурс был удален.
Как создать и настроить 301 Редирект (Redirect 301)
Настроика перенаправления через 301 редирект проводится в файле .htaccess или httpd.conf
В зависимости от возможностей хостинга или сервера вариантов может быть на удивление много. Переадресация настраивается в соответствующих файлах расположенных в каталоге сайта: .htaccess, htaccess.txt или httpd.conf
Редирект на новый домен (пример)
Redirect 301 / http://www.website.ru/или
Redirect permanent / http://www.website.ru/
Такие переадресации перенаправляют все страницы сайта на www.website.ru. Permament Redirect это тот же 301 редирект (необходимо включить модуль mod_alias на хостинге или сервере, служит для поддержки Redirect, RedirectPermanent и RedirectMatch)
Редирект одной страницы на другую страницу
Redirect 301 /page.html http://www.website.ru/new_page.html
Переадресаций можно настроить и несколько, начиная каждую с новой строки. Обратите внимание, что каждая вышестоящия будет учитываться главнее (важнее) последующей:
Redirect permanent /catalog http://site1.ru/ Redirect permanent / http://site2.ru/Всех заходящих в директорию сайта "catalog" будет перенаправлять на сайт 1, а все остальные страницы или директории перенаправят на сайт 2.
Переадресация сайта с префиксом www на сайт без www
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]или
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^www.website\.ru$ [NC] RewriteRule ^(.*)$ http://website.ru/$1 [R=301,L]
Редирект запросов без префикса www на домен с www
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^website\.ru$ [NC] RewriteRule ^(.*)$ http://www.website.ru/$1 [R=301,L]или
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} !^www\.(.*) [NC] RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
301 редирект старого домена на новый:
Options +FollowSymLinks RewriteEngine on RewriteRule (.*) http://www.website.ru/$1 [R=301,L]Если хотите чтобы вместо rewrite.php загружался файл rewrite.html, добавьте в .htaccess:
RewriteEngine on RewriteBase / RewriteRule ^rewrite\.php$ rewrite.html [R=permanent]
Для замены всех .php страниц на .html:
RewriteEngine on RewriteBase / RewriteRule ^(.*)\.php$ $1.html [R=permanent]
Важно! Правила настройки 301 редиректа
- При редиректе строго учитывается последовательность правил переадресации. Если ваше правило не выполняется, значит где то еще используется редирект.
- После прописывания правил переадресации, проверьте работу редиректа.
Модуль mod_rewrite встречается очень часто, используется для постоянных ссылок (permalinks). Переадресация осуществляется директивой RewriteRule. Для корректной работы необходимо включить опцию FollowSymLinks.