Для начала необходимо создать файл с названием .htaccess. Для этого создаем обычный текстовый документ — новый текстовый документ.txt и переименовываем его в .htaccess, т.е. ставим точку затем пишем htaccess, а расширение txt удаляем. Система спросит — вы действительно хотите поменять расширение, соглашаетесь.
Затем созданный файл открываем обычным текстовым редактором и копируем туда код, который описан ниже.
Основные функции 301 редиректа и зачем он нужен?
Ситуация: страница сайта была удалена или переехала на новый адрес.
Минусы ситуации: страница становится не доступной и выдает ошибку 404. Если данная страница имела топовые позиции и посещаемость, то с ее исчезновением позиции по запросу, за которой отвечала страница пропадут и трафик на сайт снизится.
Чтобы этого не произошло, при смене адреса страницы нужно указать поисковикам новый адрес данной страницы, с помощью 301 редиректа. В таком случае, вы сохраните позиции сайта. Помимо проблем с поисковым трафиком отсутствие редиректа с одной страницы на другую повлечет за собой негативные последствия для сайта в целом, так как поисковые системы не одобряют пропажу страниц.
Пример настройки редиректа:
Redirect 301 /старая_ссылка домен/новая_ссылка
Старый адрес страницы — указываем адрес ссылки без домена, допустим полный адрес ссылки домен/старая_ссылка, то мы указываем просто старая_ссылка.
домен/новая_ссылка — новый адрес страницы. Обратите внимание, что между 301 и / стоит пробел, так же, как и между старая_ссылка и домен/новая_ссылка.
Этот способ подойдет для переадресации, как с одной страницы сайта на другую, так и с домена на домен, т.е. на другой сайт.
Что делать, если не работает 301 редирект?
Если 301 не работает, то вы можете использовать другую конструкцию переадресации страницы.
Пример второго способа редиректа:
RewriteCond %{QUERY_STRING} ^старая_ссылка$
RewriteRule ^новая_ссылка$ домен/новая_ссылка? [R=301,L]
Старый адрес страницы, так же указываем без домена и знака ?, если полный адрес страницы домен/старая_ссылка
домен/новая_ссылка — новый адрес страницы.
Данный способ подойдет для сложных редиректов, когда обычный способ не подходит или не работает.
Настройка редиректа с адреса сайта использующего www на адрес сайта без www.
Код:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Просто вставьте данный код в файл htaccess и обрезка www будет работать.
Обрезка www необходима, в том случае, если вы указали или используете свой домен без www, как основное зеркало.
Переадресация всех страниц одного домена на главную страницу другого домена
RewriteCond %{REQUEST_URI} (.*)
RewriteRule ^(.*)$ http://site.ru/ [L,R=301]
Вместо site.ru — указываем адрес сайта, на который будет происходить переадресация.
Видео инструкция