重定向以nubmer结尾的页面

时间:2016-09-16 14:19:15

标签: regex apache .htaccess

这是一个非常愚蠢的问题,我非常接近解决它,但正则表达式正在扼杀我 - 我在各种测试页面上使用了JavaScript历史API。

服务器端,我想重定向:

/test/1
/test/2
/test/3

全部

/test

所以我正在使用

Redirect 301 /test/1 /test
Redirect 301 /test/2 /test
Redirect 301 /test/3 /test

这一切都有效,但我想重定向

Redirect 301 /test/1000 /test

所以,这里是我出错的地方,经过一些黑客攻击,谷歌搜索等我正在使用:

Redirect 301 /test/([0-9]+) /test

替换所有其他代码行,但它完全失败了。匹配所有/test/{number}的行是什么,以便我可以一次重定向所有行?

3 个答案:

答案 0 :(得分:1)

Redirect指令不支持正则表达式。相反,您可以尝试RewriteRule

RewriteRule ^test/[0-9]+$ /test [R=301,L]

答案 1 :(得分:1)

重定向不支持正则表达式,但RedirectMatch可以:http://apache.org/docs/current/mod/mod_alias.html#redirectmat ch

它的内容如下:

RedirectMatch 301 /test/[0-9]+ /test

答案 2 :(得分:0)

看起来这个表达式适合你。

/(?:\d*)?\d+/g

http://regexr.com/3e8bk