这个RedirectMatch表达式有什么问题?

时间:2016-08-08 09:51:00

标签: apache .htaccess redirect

我正在尝试使用此RedirectMatch:

RedirectMatch 301 /(.*.p0) /(.*.p1) 

替换网址中的网页参数。 旧网址:http://www.example.com/some-list-c1-p0 新网址:http://www.example.com/some-list-c1-p1

它出了什么问题?

或者我可以制定一个规则,重定向301以下类型的网址吗?

旧网址:http://www.example.com/some-list-c1-p0.html 新网址:http://www.example.com/some-list-c1-p1

我正在使用:

RedirectMatch 301 /(.*.p0)\.html /$1

但我不能得到'p1'而不是'p0'

2 个答案:

答案 0 :(得分:1)

您的替换方不包含对比赛的任何引用。 The Apache docs建议这样的例子:

RedirectMatch "(.*)\.gif$" "http://other.example.com$1.jpg"

使用$1$2等来引用捕获的匹配项,因此请尝试

RedirectMatch 301 /(.*.)p0 /$1p1 

看看它是否更好。

答案 1 :(得分:0)

我在问题的第二部分找到了解决方法

这有效:

RedirectMatch 301 /(.*.)p0\.html /$1p1