HTACCESS:如果网址中的号码无效,则重定向到主页

时间:2016-05-30 13:37:42

标签: apache .htaccess redirect

我正在使用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 ::应该失败

2 个答案:

答案 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]+/?$ /