Apache用参数重写规则?

Posted

技术标签:

【中文标题】Apache用参数重写规则?【英文标题】:Apache rewrite rule with parameters? 【发布时间】:2010-12-05 12:22:16 【问题描述】:

我有以下网址:

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

似乎没有工作!有什么想法吗?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

这就是我的动态搜索查询所缺少的。谢谢,克洛普斯! 最后你会如何摆脱必要的??如果我只是删除它,它就不起作用【参考方案2】:

你可以使用 RewriteCond 语句来做你想做的事:

RewriteEngine On

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

【讨论】:

【参考方案3】:

clops 给出的答案似乎缺少一个 = ..

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

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

【讨论】:

以上是关于Apache用参数重写规则?的主要内容,如果未能解决你的问题,请参考以下文章

Apache中 RewriteRule 规则参数介绍

apache的重写规则

PHP/Apache:用 .htaccess 重写规则

重载与重写问题

IIS 重写规则不传递参数

htaccess 多参数重写规则