Apache问号重写规则的问题

所以我正在尝试redirect

index.php?action=search&query=search text goes here 

 search?query=search text goes here 

我试过这个,但没有运气

 RewriteRule ^search/? index.php?action=search&query=$1 [QSA,L] 

编辑:解决scheme是

 RewriteCond %{QUERY_STRING} ^query=(.*)$ RewriteRule ^search/? index.php?action=search&query=%1 [QSA,L] 

因为我在我的htaccess中有一些其他的RewriteRules,我必须把它们放在它们上面。

我的其他rewriterules是这样的:

 RewriteRule ^(\w+)/?$ index.php?action=$1 

尝试这个:

 RewriteCond %{QUERY_STRING} ^query=(.*)$ RewriteRule ^search/? index.php?action=search&query=%1 [QSA,L] 

你需要把它捕获到一个捕获组。

 RewriteRule ^search\?query=(.*)$ index.php?action=search&query=$1 [QSA,L]