Подтвердить что ты не робот

Apache mod_rewrite: force www, если не в localhost

У меня есть следующее в моем htaccess, чтобы заставить www в URL-адресах:

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

Как мне применить это, если не на localhost? Есть ли какое-то условие if, которое я могу поставить? Прямо сейчас, я получаю что-то вроде этого: http://www.localhost/...

4b9b3361

Ответ 1

RewriteCond уже является вашим "if-condition". Просто добавьте еще один:

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

Ответ 2

Я добавил все это:

RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{HTTP_HOST} !=127.0.0.1
RewriteCond %{REMOTE_ADDR} !=127.0.0.1
RewriteCond %{REMOTE_ADDR} !=::1