我在htaccess
中设置了以下规则:
RewriteRule ^abc/\w+/xyz/?$ /go.php [L]
我注意到它适用于:
abc/hello/xyz/
abc/hello_there/xyz/
但是如果我尝试的话会产生404:
abc/hello-there/xyz/
因此,有没有办法修改规则,以便它也可以读取-
运算符?为什么会这样?
答案 0 :(得分:1)
那是因为你没有在你的正则表达式中包含-
。 \w
是A-Za-z0-9_
的缩写,因此如果您想要包含-
,则需要将其添加到表达式中。
RewriteRule ^abc/[\w-]+/xyz/?$ /go.php [L]