Xpoint
   [напомнить пароль]

Убираем рудиментарную приставку «www» от имен доменов с помощью mod_rewrite

Зачем?

Когда-то приставка «www» была актуальной и обозначала принадлежность адреса к всемирной сети, сейчас же эта приставка несет только вред.
Обоснуем:

  • Поскольку хосты с приставкой и без – разные, то для одного сайта получается два кэша. Зря расходуется трафик и забивается кзш.
  • Если нерадивый программист по каким-то причинам использует полные пути, то можно нарваться на ошибки «access denied» при загрузке данных, доступе к фреймам и JS и т.п. Все дело в политике безопасности, для которой сайт с приставкой и без – разные домены.
  • Приставка «www» уродлива на слух;
  • URL’ы сайтов без «www» просто смотрятся эстетичней.

Что делать?

Конечно, мы не можем полностью отказаться от приставки «www», т.к. целое поколение воспитано на ней, но мы можем делать перенаправление (redirect) с «неправильного» адреса.
Т.е. каждый раз, когда к нам приходит запрос http://www.example.com/path/to/?query=something мы делаем перенаправление на такой же, но без «www»: http://example.com/path/to/?query=something.
Желаемого очень просто достичь при помощи модуля mod_rewrite.

Решение

Универсальный код выглядит так:
Создайте в корне Вашего сайта файл “.htaccess” и напишите там:

RewriteEngine on    # оглашаем, что хотим использовать mod_rewrite

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^/?(.*) http://%1/$1 [L,R=permanent]

Если файл “.htaccess” уже существует, то просто допишите эти строки в начало или конец.

Ссылки по теме:

Powered by POEM™ Engine Copyright © 2002-2005