apache重定向根导致递归

时间:2013-05-30 00:22:46

标签: apache redirect apache2

我正在尝试将我域上http://foo.foo/的所有流量定向到该域http://foo.foo/page/上的特定页面。 mod-rewrite docs建议使用RedirectRedirectMatch进行简单的reidrects,但是当我尝试使用该规则时:

Redirect / http://foo.foo/page/

Redirect / /page/

我最终得到了一个无限递归(浏览器最终得到了网址http://page/page/page/page/page/page/....)。

1 个答案:

答案 0 :(得分:1)

在编写问题时,我得到了答案 - 非常简单(:

首先,Redirect指令会查看网址前缀。如果你使用/它匹配所有内容,那么递归。

其次,在使用RedirectMatch时,它会将您的正则表达式与路径的任何部分(或者域规范之后的任何部分?)相匹配。无论如何,使用RedirectMatch /$匹配以/结尾的每个路径(例如:我的/page/)。

解决方案是使用它:

RedirectMatch ^/$ /page/