显然,整个问题是 chrome v.24 和主机解析中新引入的错误,htaccess 在任何其他浏览器中都可以正常工作。不知道如何“关闭”这个问题,如果有人可以指点我^^
尝试使用在 Windows 上本地运行的 Apache 2.2 进行简单的重写。
RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
重定向到“www.localhost/”
第一行不应该与本地主机匹配吗?
还尝试了这些替代方案:
1
RewriteCond %{REMOTE_ADDR} !127.0.0.1
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
2
RewriteCond %{HTTP_HOST} !^(www\.|localhost$) [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
3
RewriteCond %{HTTP_HOST} !^(www\.|127.0.0.1$) [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
4
RewriteCond %{HTTP_HOST} !^(www\.|localhost$) [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
5
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !^localhost$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
6
RewriteCond %{HTTP_HOST} !^localhost$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
每个人都去“www.localhost/”,有人知道出了什么问题吗?