2016-09-16 46 views
0

这是一个很愚蠢的问题,我非常接近解决它,但正则表达式正在杀死我 - 我在测试的各个页面上使用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}所以我可以一次重定向它们?

+1

也许RedirectMatch改为? https://httpd.apache.org/docs/current/mod/mod_alias.html#redirectmatch – Vrac

+2

如果您将此添加为评论,那么它就是您的所有内容! 'RedirectMatch 301/test/[0-9] +/test' – Djave

回答

1

重定向不支持正则表达式,但RedirectMatch的作用:httpd的://apache.org/docs/current/mod/mod_alias.html#redirectmat CH

它会显示为:

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

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

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