我在htaccess中有以下内容强制在URL中使用www:
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
如果不在localhost上,我该如何应用?我可以提出某种条件吗?现在,我得到的是这样的结果:http://www.localhost/
......
答案 0 :(得分:58)
RewriteCond
已经是你的“if-condition”。只需添加另一个:
RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
答案 1 :(得分:17)
我添加了所有这些:
RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{HTTP_HOST} !=127.0.0.1
RewriteCond %{REMOTE_ADDR} !=127.0.0.1
RewriteCond %{REMOTE_ADDR} !=::1
答案 2 :(得分:0)
如果您使用的端口不是80(例如localhost:8080
),则可能还需要将其添加到正则表达式中:
RewriteCond %{HTTP_HOST} !^localhost(?::\d+)?$ [NC]
RewriteCond %{HTTP_HOST} !^127\.0\.0\.1(?::\d+)?$