Возможный дубликат:
в www или не в www
Рассмотрите веб-сайт по адресуwww.example.com
Если URL-адрес вручную вводится в адресную строку Firefox как example.com
, браузер автоматически перенаправляется на www.example.com
.
При использовании Internet Explorer браузер перенаправляется в поисковую систему по умолчанию с поисковым запросом example.com
.
Такие сайты, как codinghorror.com
или example.net
все, автоматически изменяются для перенаправления на свой www
адрес.
Есть ли на веб-сервере настройка, позволяющая изменить это поведение?
Возникают ли здесь какие-либо еще проблемы?
решение1
Обычно вы настраиваете свой веб-сервер так, чтобы один домен был каноническим, и любые псевдонимы, которые вы хотите, перенаправлялись на него. Если вы укажете, какой веб-сервер, кто-нибудь скоро придет и расскажет вам, как :)
С Apache вы можете сделать что-то вроде этого:
<VirtualHost *>
#our canonical name
ServerName www.example.com
#other domains we want to respond to
ServerAlias example.com
RewriteEngine on
#if host is specified and not our canonical one, redirect
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://www.example.com/$1 [L,R=permanent]
...
</VirtualHost>
Обратите внимание, что вам по-прежнему необходимо определить записи A или CNAME для всех доменов-псевдонимов.
решение2
Я бы рекомендовал настроить одно из двух имен как канонический и уникальный способ доступа к вашему веб-сайту, а другое — как перенаправление на него. Не используйте CNAME или перенаправление JavaScript. Используйте перенаправление HTTP.
Лично я перенаправляю с www.example.com на example.com, потому что я против www. Причина довольно проста: тот факт, что вы используете веб-браузер и http, уже говорит о том, что вы пытаетесь получить доступ к веб-сайту по этому адресу, нет необходимости добавлять еще больше избыточной информации. Кроме того, hr.example.com может быть веб-сайтом HR, означает ли это, что в вашей компании есть отдел www? А если нет, то это должно быть www.hr.example.com, что выглядит довольно плохо.
решение3
Посмотрите на URL выше. stackoverflow.com не переходит на www.stackoverflow.com. Это две отдельные записи DNS. Посмотрите на конфигурацию вашего хоста DNS и попробуйте добавить запись A для xyz.com, и это должно исправить проблему.
решение4
См. вопрос Stack Overflow по этой проблеме:Должен ли я сделать свой сайт по умолчанию www.foo или нет?