Pull to refresh

Избавляемся от www в адресе сайта

Reading time1 min
Views3.3K
Универсальное решение проблемы постоянных редиректов на домен без www при помощи mod_rewrite. Просто и полезно. Работает на любом домене без необходимости править для каждого сайта. Ранее на хабре видел подобное, но без независимости от доменного имени.
В корень бросаем файл .htaccess со следующим содержимым:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# В переменную окружения %{ENV:PROTOCOL} помещаем протокол
RewriteRule ^(.*)$ - [E=PROTOCOL:http]
RewriteCond %{HTTPS} ^on$ [NC]
RewriteRule ^(.*)$ - [E=PROTOCOL:https]
# Если нужно убираем www
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1:%{SERVER_PORT}%{REQUEST_URI} [R=301,L]
</IfModule>
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 44: ↑22 and ↓220
Comments43

Articles