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