World wide web (настройка редиректа между зеркалами с www и без в файле .htaccess) — различия между версиями
Материал из Umicms
Строка 7: | Строка 7: | ||
Правило следует писать самым первым, чтобы оно перекрывало собой все правила UMI.CMS. | Правило следует писать самым первым, чтобы оно перекрывало собой все правила UMI.CMS. | ||
+ | |||
+ | Кириллические домены нужно конвертировать в punycode: https://www.punycoder.com/ | ||
<h2>Для основного домена без www</h2> | <h2>Для основного домена без www</h2> |
Версия 08:52, 24 июня 2016
Актуально для версии 2.9
Часто, для SEO продвижения или ещё каких либо целей требуется, чтобы сайт всегда открывался только с www.domain.ru или наоборот, без 'www', т.е. domain.ru
Для того, чтобы это реализовать можно добавить простое правило в файл дополнительной конфигурации сервера ".htaccess"
Находится он в корневой директории и открывается любым текстовым редактором.
Правило следует писать самым первым, чтобы оно перекрывало собой все правила UMI.CMS.
Кириллические домены нужно конвертировать в punycode: https://www.punycoder.com/
Для основного домена без www
#Включаем работу механизма преобразований.
RewriteEngine On
#Проверяем, что текущий хост выглядит как http://www.domain.ru
#Флаг NC (No Case), позволяет игнорировать регистр при проверке
RewriteCond %{HTTP_HOST} ^www.domain.ru$ [NC]
#Перенаправляем запрос на хост без www, 301 редирект
#Флаг L запрещает дальнейшую обработку правил в этом запросе
RewriteRule ^(.*)$ http://domain.ru/$1 [R=301,L]
Для основного домена с www
#Включаем работу механизма преобразований.
RewriteEngine On
#Проверяем, что текущий хост выглядит как http://domain.ru
#Флаг NC (No Case), позволяет игнорировать регистр при проверке
RewriteCond %{HTTP_HOST} ^domain.ru$ [NC]
#Перенаправляем запрос на хост c www, 301 редирект
#Флаг L запрещает дальнейшую обработку правил в этом запросе
RewriteRule ^(.*)$ http://www.domain.ru/$1 [R=301,L]