【发布时间】:2016-05-19 15:36:48
【问题描述】:
不知道为什么这不起作用:
RewriteEngine On
RewriteCond %{HTTP_HOST} example.com$ [NC]
RewriteRule ^.+ http://example.com [L]
据我所知,RewriteCond 正在工作。
对我来说,RewriteRule 写道:
-
^开始比赛 -
.+一个或多个字符
然而,Firefox 44 告诉我
页面重定向不正确
Firefox 检测到服务器正在重定向请求 这个地址永远不会完成。
如果RewriteRule 以^.* 开头,我预计服务器会陷入无限循环。
但是^.+ 应该可以工作,不是吗?
【问题讨论】:
-
这是因为 example.com 正在重定向到 example.com
-
同意。但这就是您对
^.*的期望,不是吗?为什么^.+会发生这种情况? -
不,条件是这样。
-
啊,好吧。那么我该如何声明一个或多个字符(不是零个或多个字符)?
-
这正是您的规则所做的,但条件是如果域以
example.com结尾,则必须进行重写并且,根据规则,还有一个请求 URI 中的字符。这样做的目的是什么?
标签: apache .htaccess mod-rewrite