2009-10-20 8 views
3

J'ai la règle mod_rewrite suivante:passage de variables mod_rewrite

RewriteRule ^([^/.]+)/?$ search.php?action=procedure&procedureName=$1 

Cela fonctionne bien dans la réorientation des choses comme/blabla à /search.php?action=procedure & ProcedureName = blabla

Le problème est que parfois je veux passer une valeur 'start' (pour la pagination). Par exemple,/blabla /? Start = 20.

Actuellement, il l'ignore tout simplement. L'impression du tableau $ _REQUEST n'affiche pas 'start'. J'ai essayé de modifier la règle à:

RewriteRule ^([^/.]+)/\?start=([0-9]+)$ search.php?action=procedure&procedureName=$1&start=$2 
RewriteRule ^([^/.]+)/?$ search.php?action=procedure&procedureName=$1 

Mais cela n'a rien fait.

Une idée?

Merci

+0

duplication possible de [variables Mod_rewrite et $ _GET] (http://stackoverflow.com/questions/1498966/mod-rewrite-and-get-variables) – outis

Répondre

11
RewriteRule ^([^/.]+)/?$ search.php?action=procedure&procedureName=$1 [L,NC,QSA] 

Le QSA signifie append chaîne de requête, et il y append $ _GET vous passez VARS. Sinon, ils ne sont normalement pas ajoutés.

1

En fait, je pense avoir trouvé ma réponse:

RewriteRule ^([^/.]+)/?$ search.php?action=procedure&procedureName=$1 [QSA] 

Le QSA permet de passer des chaînes de requête. Pas vrai?