我正在使用APACHE服务器,如果第三个参数是无效数字,我想将网址重定向到主页。 我写的代码是::
RedirectMatch 302 ^/app/([a-zA-Z0-9_-]+)/([a-zA-Z_-]+)/?$ /
但它不起作用。 简而言之:
www.xyz/app/test/3434 ::应该通过
www.xyz/app/test/best ::应该失败
www.xyz/app/test/34kkk34 ::应该失败
答案 0 :(得分:1)
您希望在最后一部分不数字时重定向。换句话说,当某处有非数字时重定向。为此,您必须首先匹配包括数字在内的任何字符。
^/app/[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]*[a-zA-Z_-][a-zA-Z0-9_-]*/?$
由于您未在目标网址中使用请求的任何部分,因此也无需捕获任何内容()
。
如果您不关心特定字符,则可以简化正则表达式,只需使用.*
代替[a-zA-Z0-9_-]*
,例如
^/app/.+?/.*?[^0-9].*/?$
答案 1 :(得分:0)
您可以使用此规则:
RedirectMatch 302 ^/app/[a-zA-Z0-9_-]+/[a-zA-Z_-]+/[0-9]+/?$ /