Все владельцы сайтов имеют одну общую проблему: в большинстве случаев сайт доступен по двум адресам – как с префиксом www., так и без него. И если части людей это всё равно, то при очередном приступе перфекционизма может возникнуть желание сделать всё правильно – пользователям должен быть доступен только один адрес.
Ещё одна причина для того, чтобы настроить только один адрес – поисковые системы, которые без специальной настройки могут считать, что это два разных сайта с одинаковым содержимым. Как результат, сайт может быть понижен в поисковой выдаче.
Выбирать адрес с www. или без этого префикса – личное дело каждого. Я считаю, что раньше, когда этот префикс означал протокол передачи данных, его указание было актуально, но сейчас это просто лишние символы в адресе. Поэтому будем настраивать вариант без www., с принудительной переадресацией.
Проще всего сделать это, используя возможности веб-сервера, обычно это Apache.
Для начала проверяем, что у нас настроен файл .htaccess и что в настройках сервера разрешено переопределять всё.
После этого добавляем в него такие строки (домен я указываю свой, вы замените его на нужный вам):
RewriteEngine On RewriteCond %{HTTP_HOST} ^www.chubatyj.ru$ [NC] RewriteRule ^(.*)$ http://chubatyj.ru/$1 [L,R=301] RewriteCond %{SERVER_PORT} !^80$ RewriteRule ^(.*)$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Что это означает?
Первая строка разрешает работу механизма перезаписи ссылок, когда вместо одной подставляется совершенно другая. Кстати, именно благодаря такому механизму работают человекопонятные ссылки – они обрабатываются самим сайтом и соответствующая информация извлекается из базы данных.
Вторая строка указывает, что надо взять адрес с префиксом www., а что с ним делать – указано в третьей строке: перенаправить на адрес без этого анахронизма.
Если же вы любитель www., вам достаточно переместить этот префикс из адреса во второй строке в третью.
С www. мы разобрались, но осталось ещё две строки. Для чего они предназначены?
Сейчас многие сайты работают по протоколу https, обеспечивая шифрование данных. И если настроен только https, а посетитель откроет как обычный http, браузер выдаст ошибку. Или же наоборот – сайт, работающий по обычному протоколу, кто-то попытается открыть как https, в результате чего тоже будет выдано сообщение об ошибке.
Для исправления этой ситуации и нужны четвёртая и пятая строки. Четвёртая указывает, что применять перезапись ссылок надо, если порт отличается от 80 (то есть, кто-то пришёл на сайт не по http протоколу), а пятая перенаправляет на http протокол.
Следует отметить, что в обоих случаях перенаправления посетителю (и поисковому роботу) отдаётся код ответа 301 – страница перенесена постоянно. В результате поисковые роботы «забудут» старый адрес и «запомнят» новый.
Ну и напоследок небольшая шутка для админов-маньяков (в хорошем смысле). Можно не настраивать переадресацию, а организовать 4 разных сайта с использованием http/https, а также с префиксом www и без него. В таком случае ваш сайт точно запомнится посетителям.
Comments: