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

Как я могу добиться, чтобы мои URL-адреса всегда начинались с www?

Я хочу, чтобы пользователи заходили в www.mydomain.com даже если они приходят через псевдоним mydomain.com. Это сделано для того, чтобы я мог контролировать файлы cookie на поддоменах, и чтобы Google видел только один домен, а не мешанину URL-адресов.

Как я могу это сделать с помощью Apache?

<VirtualHost ip:80>
   ServerName domain.com
   RedirectMatch permanent ^(.*)$ http://www.domain.com$1
</VirtualHost>

<VirtualHost ip:80>
   ServerName www.domain.com

   ... usual config
</VirtualHost>

Включите поддержку mod_rewrite, затем создайте файл .htaccess в корневой папке вашего домена со следующим содержимым:

<IfModule mod_rewrite.c>
   Options +FollowSymLinks
   Options +Indexes
   RewriteEngine On
   RewriteBase /
   RewriteCond %{HTTP_HOST} ^domain\.com$
   RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
</IfModule>

Добавьте это в свой httpd.conf файл:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.mydomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]

Если вы действительно хотите, чтобы Google использовал определенный стиль домена (с или без www) затем создайте бесплатный Инструменты Google для веб-мастеров учетной записи, подтвердите право собственности на свой домен (загрузите файл) и установите предпочтительный домен с помощью онлайн-панели управления.

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

Ссылки могут указывать на ваш сайт с использованием версий URL как с префиксом www, так и без него (например, http://www.example.com и http://example.com). Предпочтительный домен - это версия, которую вы хотите использовать для своего сайта при поиске. полученные результаты.

Как только вы сообщите нам предпочитаемое доменное имя, мы учтем ваши предпочтения при отображении URL-адресов. Может пройти некоторое время, прежде чем вы увидите, что это изменение полностью отразится в нашем индексе.

если ты не укажите предпочтительный домен, мы можем рассматривать версии домена с www и без www как отдельные ссылки на отдельные страницы.

У меня была противоположная проблема: люди переходят на www.domain.com, когда я просто хочу обслуживать напрямую с domain.com:

<VirtualHost *:80>
   ServerName domain.com

   ... usual config
</VirtualHost>

<VirtualHost *:80>
   ServerName www.domain.com
   ServerAlias sub.domain.com # can also catch some other subdomains
   ServerAlias *.domain.com # or all previously unmatched domains

   Redirect permanent / http://domain.com/
</VirtualHost>

Как упоминал Грег Хьюгилл, использование Redirect немного проще, чем RedirectMatch, и выполняет ту же работу, см. http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirect Больше подробностей.