La réécriture .htaccess transmet toutes les chaînes de requête via
J'utilise actuellement:
RewriteRule ^([^/\.]+)/?$ page.php?page=$1 [L]
Qui est bon pour la lors du passage d'une chaîne de requête à travers.
Mais est-il un moyen juste pour passer tous les querystrings? c'est à dire Une demande de page peut être:
domain.com/contact?course=23
et un autre peut être:
domain.com/contact?workshop=41
Donc j'ai besoin de savoir ce que la chaîne de requête de nom, mais seulement de celui qui sera passé un temps
source d'informationauteur Shane
Vous devez vous connecter pour publier un commentaire.
Si je comprends votre question correctement, vous pouvez simplement ajouter la
[QSA]
(chaîne de requête ajout) drapeau à la fin de votreRewriteRule
Cela permettra de traiter votre demande comme vous l'avez déjà fait, et ajouter tous les autres querystring params sur la fin.
C'est ce que je fais.
RewriteRule ^((/?[^/]+)+/?)$ ?q=$1 [L]
Maintenant toute la partie après domain.com/est en
$_GET['q']
dansindex.php
. E. g. si vous demandezdomain.com/articles/12
q
contientarticles/12
. Il est alors trivial de l'analyser avec, par exemple,explode('/', $_GET['q'])
.