Убираем из адресной строки www

Чтобы поисковики не сбивались с толку, сканируя ваш сайт и так и эдак - типа www.domen.ru и domen.ru, лучше создать однозначный доступ - либо по www либо без...

Как я считаю, вариант www устарел с тех пор, как серверы обрели необходимую мощь, чтобы обрабатывать все протоколы одной железякой, ибо раньше разделяли нагрузку по кучке мало-мощных серверов, один ftp, другой www, третий hz.... у всех был один домен, просто распределение было по их назначению.

Адрес без www - занимает меньше места на визитной карточке, на баннере, проще произносится в конце концов, да и поисковики будут думать что у вас один сайт и нормально будут индексировать, а не думать, что их два и выдавать ваш url как попало...

Для начала затеи на нашем web-сервере должен быть установлен компонент mod_rewrite, затем нужно подкорректировать файл .htaccess в корне сайта:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domen.ru
RewriteRule (.*) http://domen.ru/$1 [R=301,L]

Данный вариант короток, но есть недостаток, если у вас куча сайтов, то придется для каждого сайта прописывать URL-адрес.

RewriteEngine On
RewriteBase /
# В переменную окружения %{ENV:PROTOCOL} помещаем протокол
RewriteRule ^(.*)$ - [E=PROTOCOL:http]
RewriteCond %{HTTPS} ^on$ [NC]
RewriteRule ^(.*)$ - [E=PROTOCOL:https]
# Если нужно убираем www
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{HTTP_HOST} ^www.(.*) [NC]
RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www.(.*) [NC]
RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1:%{SERVER_PORT}%{REQUEST_URI} [R=301,L]

Этот вариант более универсален, так как не придется прописывать каждый раз домены, да и не вышибает сайт, если не установлен mod_rewrite, работает так же с https.

Дополнение:

Если вы не используете Apache2, а только чистый Nginx, то у вас не будет работать файл .htaccess, по этому надо в конфиг сайта в секцию server следущий код:

if ($http_host ~* "^www\.(.*)"){
    set $http_host_1 $1;
    rewrite ^(.*)$
    https://$http_host_1:$request_uri redirect;
}

Обратите внимание, что тут идет протокол https, соответственно измените на http

Комментарии

Дорогие посетители моего сайта, подпишитесь на мой канал в Дзене! Это стимулирует меня писать новые и новые познавательные статьи!