Реклама

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

Чтобы поисковики не сбивались с толку, сканируя ваш сайт и так и эдак - типа 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.

RSS
RSS - Лента новостей
Закладки
Сообщества