2
当我在我的mod_rewrite正则表达式中包含百分比符号(%)时,我的服务器一直在抛出404错误。我到处搜查无济于事。我正在运行apache 2.4.4并尝试了下面显示的B标志。.htaccess中的百分比符号mod_rewrite
RewriteRule ^pages/([a-zA-Z]+)/([a-zA-Z+%'"]+)$ pages/$1.php?search=$2 [B]
因此,当我访问pages/animals/cats%20and%20dogs失败。但作品像一个魅力,当我改变([a-zA-Z+%'"]+)
为(.*)
正则表达式级别=幼儿,所以任何帮助,非常感谢。
当%20位于url中时,用“\ s”替换“%”仍然失败。 我还需要%2C和%40的百分比符号(,@) –
您需要了解在%URL登陆Apache之前编码了%2C和%40个字符等。请参阅编辑答案,以匹配所有这些情况使用'\ W' – anubhava
啊,我明白了!非常感谢,除了'(%2F,%5C)(/,\)'以外,所有特殊字符都在工作。 –