不确定为什么这不起作用:
RewriteEngine On
RewriteCond %{HTTP_HOST} example.com$ [NC]
RewriteRule ^.+ http://example.com [L]
RewriteCond
正在尽我所能。
对我而言,RewriteRule
读取:
^
开始比赛.+
一个或多个字符然而, Firefox 44 正在告诉我
该页面未正确重定向
Firefox检测到服务器正在重定向请求 这个地址永远不会完成。
如果RewriteRule
以^.*
开头,我希望服务器能够无限循环。
但是^.+
应该有效,不是吗?
答案 0 :(得分:3)
由于在REQUEST_URI中添加了DirectoryIndex
处理程序,您将获得重定向循环。
要解决此问题,您可以使用以下规则:
RewriteCond %{HTTP_HOST} www.localhost$ [NC]
RewriteCond %{REQUEST_URI} !^/index\. [NC]
RewriteRule ^.+ http://www.localhost [L,R]
RewriteCond %{REQUEST_URI} !^/index\. [NC]
将停止重定向循环,因为/index.html
或/index.php
通常是DirectoryIndex
处理程序。