我创建了一个重写规则,其中应该包含一个可能包含字符%
的参数,但是当我将其添加到我的规则时,它会破坏我的网站并且每个页面都会返回错误:
RewriteRule ^sale/([a-zA-Z0-9_-%]+)$ browse.php?id=$1
我希望参数能够包含字符,数字0到9以及特殊字符-
,_
和%
。
如果我删除%
它工作正常,但显然我希望将其作为字符接受,例如url:
答案 0 :(得分:2)
Apache在将其提供给mod_rewrite之前在URL中转换百分比编码的字符。因此,如果您想在网址中接受%20
,则只需在RewriteRule中添加一个空格即可。但请注意,空格也是用于在rewriteRule中分隔正则表达式和替换字符串,因此对于空格,您需要使用\
答案 1 :(得分:-1)