如何在正则表达式中将问号用作普通char

时间:2015-04-06 15:35:07

标签: regex mod-rewrite

使用支持perl正则表达式的apache mod_rewrite。 如何使用问号作为普通字符? 例如:

RewriteCond %{REQUEST_URI} ^(/.*/service/City?name)=(.*)-(.*)$

2 个答案:

答案 0 :(得分:2)

您不能使用RewriteCond %{REQUEST_URI}匹配查询字符串。您需要使用QUERY_STRING变量。所以正确的方法是:

RewriteCond %{QUERY_STRING} ^name=(.*)-(.*)$
RewriteCond %{REQUEST_URI} ^(/.*/service/City)$

答案 1 :(得分:1)

你也可以看一下:

Match Question Mark in mod_rewrite rule regex

既然你正在使用mod_rewrite,你可能想要隐藏你的?完全。上面的帖子将解释如何做到这一点。