ponto de interrogação do apache RewriteRule question

2

Então, estou tentando redirecionar de

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

para

search?query=search text goes here

eu tentei isso até agora, mas sem sorte

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

EDITAR: A solução foi

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

e como eu tinha algumas outras RewriteRules no meu htaccess eu tive que colocá-las acima delas.

meus outros rewriterules foram assim:

RewriteRule ^(\w+)/?$ index.php?action=$1
    
por fxuser 09.06.2011 / 13:43

2 respostas

1

Tente isto:

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

Você precisa capturá-lo em um grupo de captura.

RewriteRule ^search\?query=(.*)$ index.php?action=search&query=$1 [QSA,L]
    
por 09.06.2011 / 13:47