2009-10-09 50 views
11

我有以下网址:带参数的Apache重写规则?

http://domain.com/index.php?m=feedback&cSubject=My Subject 

我想有一个重写规则,以便执行以下操作:

http://domain.com/feedback?Subject=My Subject 

映射到以前的URL。继承人我现在的规则:

RewriteRule ^feedback?Subject=(.*)$ index.php?m=feedback&cSubject=$1 

似乎没有工作寿!有任何想法吗?

回答

14

查询字符串不被Apache Mod_Rewrite解析,但有一个解决方法。试试这个

RewriteRule ^feedback/?$ index.php?m=feedback&c%{QUERY_STRING} [NC,L] 
+1

非常感谢! – James

+1

这就是我对我的动态搜索查询所缺少的。谢谢,Clops! –

+0

最后如何摆脱必要的'?'?它不起作用,如果我只是删除它 – user151496

5

可以使用的RewriteCond语句来完成你想要什么:

RewriteEngine On 

RewriteCond %{QUERY_STRING} Subject=(.*) 
RewriteRule ^feedback$ index.php?m=feedback&cSubject=%1 [L] 
0

似乎是缺少=从clops回答给..

RewriteRule ^feedback/?$ index.php?m=feedback&c=%{QUERY_STRING} [NC,L] 

。至少我需要一个让它工作。