我正在使用htaccess规则进行网址重写
RewriteCond %{THE_REQUEST} /buy-car\.php\?make=([^\s&]+)&model=([^\s&]+)&year=([^\s&]+)\s [NC]
RewriteRule ^ buy-car/%1/%2/%3? [R=302,L]
RewriteRule ^buy-car/([\w-]+)/([\w-]+)/([\w-]+)/?$ buy-car.php?make=$1&model=$2&year=$3 [L,QSA,NC]
这会使网址像
www.example.com/buy-car/audi/x5/2015
但有时我可能有这样的网址
www.example.com/buy-car/audi/x5/2000%3B2015
%3B represents ;
现在如何改变我的htaccess规则才能正常工作。
谢谢
答案 0 :(得分:0)
在%前面添加反斜杠。尝试在正则表达式中使用:([\%\ w - ] +)。
答案 1 :(得分:0)
在您的角色类中允许;
。有第二条规则:
RewriteRule ^buy-car/([\w;-]+)/([\w;-]+)/([\w;-]+)/?$ buy-car.php?make=$1&model=$2&year=$3 [L,QSA,NC]