Избавляемся от www и не только

К чертям www!

Все владельцы сайтов имеют одну общую проблему: в большинстве случаев сайт доступен по двум адресам – как с префиксом 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:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *