传递? 在重写规则

我正在使用这个 –

(2)/(3 | 3)/([a-zA-Z0-9() – 。 ?$ /city/city-search.php?c=$1&t=$2&pf=$3&iptnr=$4

我正在调整 – www.winsoftwares.net/one/pune/two/three/index.php?ptnr=xyz,并希望访问city-search.php中的variables,如… one,pune,two,three和ptnr value

但作为stringfind'?' 在(index.php?ptnr = xyz)它打破….请帮助我

http://www.winsoftwares.net是无法redirect这…

我不认为有一种方法来检查整个url,包括一击中的参数。 你需要检查什么? 分别与一个QUERY_STRING,例如。
RewriteCond %{QUERY_STRING} ^param=blah(.*) [NC]

你必须逃避? 因为它是正则expression式中的一个特殊字符。

那么,而不是使用? 试试\?

通常情况下,您不会在匹配模式中包含QUERY STRING。 然后,只需将%{QUERY_STRING}添加到您的重写规则即可。 例:

 RewriteRule ^/(articles)/([-az]+)-([0-9]+)/$ /index.php?cat=$1&id=$3&rewrite=$2&%{QUERY_STRING} 

Apache文档写道:

注意:查询string

模式不会与查询string匹配。 相反,您必须使用带有%{QUERY_STRING}variables的RewriteCond。