里面的百分比符号.htaccess mod_rewrite

时间:2013-10-07 14:36:08

标签: regex apache .htaccess mod-rewrite escaping

当我在mod_rewrite正则表达式中包含百分号(%)时,我的服务器不断抛出404错误。我到处都搜索无济于事。我正在运行apache 2.4.4并尝试了下面显示的B标志。

RewriteRule ^pages/([a-zA-Z]+)/([a-zA-Z+%'"]+)$ pages/$1.php?search=$2 [B]

因此,当我访问页面/动物/猫%20和%20狗时,它会失败。但是当我将([a-zA-Z+%'"]+)更改为(.*)

时,它就像一个魅力

正则表达水平=幼儿,所以非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

使用mod_rewrite中的%20(空格)匹配

\s。所以将你的规则改为:

RewriteRule ^pages/([a-zA-Z]+)/([a-zA-Z+\W'"]+)$ pages/$1.php?search=$2 [B,L]