为什么我的正则表达式与此不匹配?

时间:2013-11-14 16:38:48

标签: regex .htaccess url-rewriting

请帮我解决这个问题。这是我的htaccess规则:

RewriteCond %{REQUEST_METHOD} ^(GET)
RewriteRule ^ws/([^/]+)/([^/]+)/([A-Za-z]+)(&.+)?$   index.php?module=ws&wsType=$1&wsRessource=$2&wsAction=$3$4 [L,QSA]

这就是我要匹配的内容

ws/rest/user/get&criteria%5Befezf%5D=%2Ftot%2F&output=dump&compress=&session_id=cb932jrjakosubljl16loecbl1&api_key=a94a8fe5ccb19ba61c4c0873d391e987982fbbd3

问题出在%2Ftot%2F左右。如果我删除%2F(斜杠/),则重写规则有效

1 个答案:

答案 0 :(得分:3)

添加[B]标记, [L,QSA,B],或添加

AllowEncodedSlashes On

到Apache,或使用%252F代替%2F