Всем привет, сегодня мы с вами рассмотрим, как можно перенаправить пользователей с адреса с www на http. Данная процедура называется 301 редирект. Данная процедура обязательна для всех сайтов, так как браузер считает что www.site.ru и http://site.ru — это разные сайты и трафик к ним будет идти уникальный для каждого. Это проблема, так как лучше если ваш сайт будут повышаться в топе по одному домена, чем делить трафик между двумя.
Данный способ перенаправления используется:
- если домен больше не используется и вы перешли на другое доменное имя
- если вам необходимо перенаправление с www на http:// или наоборот
Для того чтобы сделать редирект сайта, мы в корневой папке сайта создаем файл .htaccess
Данный файл необходимо открыть как обычный текстовик или с помощью программы для написания кода. Я открываю этот файл через программу Sublime Text.
Htaccess (HyperText Access) представляет собой простой файл конфигурации, который позволяет дизайнерам, разработчикам и программистам, изменять конфигурацию веб-сервера Apache, чтобы реализовать дополнительную функциональность. Такая функциональность может включать в себя перенаправления пользователей, изменение URL, обеспечение защиты паролем директорий и многое другое.
ВНИМАНИЕ!!!
Для файла .htaccess следует использовать права доступа 644 и загружать его в ASCII-режиме. Если ваш .htaccess файл не работает, то вам следует обратиться к системному администратору или в техподдержку вашего веб-хостинга и убедиться, что использование его разрешено для вашей учетной записи, так как некоторые хостинговые компании не позволяют его использование без предварительного разрешения, это в основном относится к бесплатным хостингам. Также, к сожалению, .htaccess не будет работать на Windows-серверах.
Далее вписываем в файл .htaccess код, который нужен для нашего случая
Перенаправляем запрос на сайт, с www на http://
Пользователи которые будут вводить адрес сайта с www, будут переходить на сайт с http://
RewriteEngine On RewriteCond %{HTTP_HOST} ^www.yourdomain.com [NC] RewriteRule ^(.*)$ http://yourdomain.com/$1 [L,R=301]
RewriteEngine — Включает или выключает работу механизма преобразования, то есть разрешает работу кода.
RewriteCond — здесь вписываются условия при котором работает код, в нашем случае вписывается домен с которого будет перенаправлен запрос.
RewriteRule — определяет правила, которые сработаю, в нашем случае указывается сайт на который будет перенаправлен запрос.
Получается что…
RewriteCond — С которого
RewriteRule — НА который
Для обратного случая пишется подобный код, только адреса меняются местами.
Перенаправляем запрос на сайт, с http:// на www
RewriteEngine On RewriteCond %{HTTP_HOST} ^ http://yourdomain.com [NC] RewriteRule ^(.*)$ www.yourdomain.com/$1 [L,R=301]