Назад | Перейти на главную страницу

www.example.com vs example.com

Возможный дубликат:
на www или не на www

Рассмотрим веб-сайт по адресу www.example.com

Когда URL-адрес вводится вручную в адресную строку Firefox как example.com , браузер автоматически перенаправляется на www.example.com.

Используя Internet Explorer, браузер перенаправляется в поисковую систему по умолчанию с поисковым запросом для example.com.

Сайты вроде codinghorror.com или example.net все автоматически изменяются для перенаправления на их www адрес.

Есть ли настройка на веб-сервере, чтобы изменить это поведение?

Есть ли здесь другие проблемы?

Как правило, вы настраиваете свой веб-сервер так, чтобы один домен был каноническим, и любые псевдонимы, которые вы хотите, перенаправлялись на него. Если указать, какой веб-сервер, кто-то скоро подскажет, как :)

С 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 для всех псевдонимов доменов.

Я бы рекомендовал настроить одно из двух имен как канонический и уникальный способ доступа к вашему веб-сайту, а другое - для перенаправления на него. Не используйте CNAME или перенаправление JavaScript. Используйте перенаправление HTTP.

Лично я перенаправляю с www.example.com на example.com, потому что я против www. Причина довольно проста: тот факт, что вы используете веб-браузер и http уже говорит о том, что вы пытаетесь получить доступ к веб-сайту в этом месте, нет необходимости добавлять дополнительную информацию. Кроме того, hr.example.com может быть веб-сайтом отдела кадров, значит ли это, что в вашей компании есть www-отдел? а если нет, то это должен быть www.hr.example.com, что выглядит довольно плохо.

Посмотрите на ссылку выше. stackoverflow.com не переходит на www.stackoverflow.com. Это две отдельные записи DNS. Взгляните на конфигурацию вашего DNS-хоста и попробуйте добавить запись A для xyz.com, и это должно решить проблему.

Как уже упоминалось, у вас будет две отдельные записи DNS. Если это желательно (например, вам нужен не просто www.example.com), тогда вы хотите, чтобы одно имя было каноническим. Это важно для того, чтобы такие вещи, как файлы cookie, работали так, как вы предполагаете для своих конечных пользователей.

Я не знаю, какой веб-сервер вы используете, но если это Apache, вы будете использовать перезапись URL, как описано на следующей странице:

http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

Найдите в документе "канонические имена хостов".