Home > Веб-разработка > Универсальный редирект с www на без www через .htaccess

Универсальный редирект с www на без www через .htaccess

Необходимость сделать 301 редирект на сайте с домена с www на домен без www бывает очень часто, связано это с поисковым продвижением и нужно для того что бы поисковики корректно собрали зеркала, если вдруг уже проиндексировали сайты под разными именами.
Очень часто встречаемые примеры в сети жестко привязаны к имени домена, хотя можно написать правила в файле .htaccess короче и при этом они будут срабатывать на разных доменах. Вот привожу пример:

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

Наверно не многие знают что есть замечательная возможность брать данные из условия RewriteCond при помощи символа ‘%’. Число после процента означают номер открывающей круглой скобки. Так в данном случае в %1 попадет домен сайта без www, а в $1 остальная часть адреса взятая из правила редиректа.

Если надо сделать редирект с домена без www на домен с www, то можно немного изменить пример следующим образом:

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

,

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

?

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

TOP