当我在mod_rewrite正则表达式中包含一个百分比符号(%)时,我的服务器一直抛出404错误。我已经搜索了所有地方,但都没有用。我运行的是apache 2.4.4,并尝试了下面所示的B标志。
RewriteRule ^pages/([a-zA-Z]+)/([a-zA-Z+%'"]+)$ pages/$1.php?search=$2 [B]
所以当我访问页面/animals/cats%20and%20dogs时,它失败了。但是当我将([a-zA-Z+%'"]+)
更改为(.*)
时,它就像一个魅力
Regex level = toddle,所以任何帮助都非常感谢。
1条答案
按热度按时间hkmswyz61#
%20
在mod_rewrite中使用\s
(空格)进行匹配。然而,根据下面的评论,您似乎也想匹配其他非单词字符,因此最好使用\W
因此,将您的规则更改为: