我正在尝试将我域上http://foo.foo/
的所有流量定向到该域http://foo.foo/page/
上的特定页面。 mod-rewrite
docs建议使用Redirect
或RedirectMatch
进行简单的reidrects,但是当我尝试使用该规则时:
Redirect / http://foo.foo/page/
或
Redirect / /page/
我最终得到了一个无限递归(浏览器最终得到了网址http://page/page/page/page/page/page/....
)。
答案 0 :(得分:1)
在编写问题时,我得到了答案 - 非常简单(:
首先,Redirect
指令会查看网址前缀。如果你使用/
它匹配所有内容,那么递归。
其次,在使用RedirectMatch
时,它会将您的正则表达式与路径的任何部分(或者域规范之后的任何部分?)相匹配。无论如何,使用RedirectMatch /$
匹配以/
结尾的每个路径(例如:我的/page/
)。
解决方案是使用它:
RedirectMatch ^/$ /page/