RewriteRule可以处理`-`运算符吗?

时间:2016-01-14 23:45:21

标签: .htaccess mod-rewrite url-rewriting

我在htaccess中设置了以下规则:

RewriteRule ^abc/\w+/xyz/?$ /go.php [L]

我注意到它适用于:

abc/hello/xyz/

abc/hello_there/xyz/

但是如果我尝试的话会产生404:

abc/hello-there/xyz/

因此,有没有办法修改规则,以便它也可以读取-运算符?为什么会这样?

1 个答案:

答案 0 :(得分:1)

那是因为你没有在你的正则表达式中包含-\wA-Za-z0-9_的缩写,因此如果您想要包含-,则需要将其添加到表达式中。

RewriteRule ^abc/[\w-]+/xyz/?$ /go.php [L]