Passage de paramètre en GET après Rewriting (après le ?)

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

caedes
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 2
Inscription: 9 Déc 2005

Passage de paramètre en GET après Rewriting (après le ?)

Message le Ven Déc 09, 2005 12:03

Bonjour à tous !

Je souhaite utiliser l'url rewriting d'Apache comme ceci :

Mon .htaccess :
Code: Tout sélectionner
RewriteEngine  on
RewriteBase    /Shui
RewriteRule    ^(.*).html index.php?page=$1



Ex : Toute les pages demandés comme news.html sont en fait redirigé vers index.php?page=news

Jusque là tout va bien !

Mais, là où se trouve mon problème, est quand je souhaite passer des variables en GET pour avoir accès aux archives de ces mêmes news.
Je souhaiterai utiliser un lien du style : news.html?debut=5&fin=10
qui me redirigerai pépère vers index.php?page=news&debut=5&fin=10

Voila les modifications apportés à mon .htaccess :


Code: Tout sélectionner
RewriteEngine    on
RewriteBase     /Shui
RewriteRule     ^(.*).html?(.*) index.php?page=$1&$2
RewriteRule     ^(.*).html index.php?page=$1



qui ne fonctionne pas !

Je viens de lire ce topic mais je n'ai malheureusement pas pu résoudre mon soucis...
Je ne sais pas utilisé le flag [QSA] et la soluce apporté par ChezThierry n'est pas identique à ma configuration de rewriting.

Donc je vous demande un peu d'aide à tous ! Merci...


mattcobalta
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 32
Inscription: 3 Déc 2005

Message le Ven Déc 09, 2005 13:12

Peut-être comme ça :
Code: Tout sélectionner
RewriteEngine  on
RewriteBase    /Shui
RewriteRule    ^(.*).html index.php?page=$1 [QSA]


correiaj
WRInaute passionné
WRInaute passionné
 
Messages: 1110
Inscription: 25 Avr 2005

Message le Ven Déc 09, 2005 14:21

Une URI pour apache s´arrête après l´extension de fichier. Le ? détermine la fin de celle-ci, et le début de ce qu´on appelle la Query String, chaine de variables.
Le mod_rewrite ne permet pas de modifier cela depuis une rewriteRule. Mais tu peux y accéder par deux moyens:
-si tu veux juste faire suivre cette chaine, il faut un drapeau [QSA] a la fin de toutes tes règles par lesquelles ton url va passer.
-si tu veux modifier ta query string, tu dois faire une rewriteCond et mettre en motif tes possibilités de variables:
ta query string est:
nomvar1=nimporte quel nombre
RewriteCond %{QUERY_STRING} nomvar=([0-9]+)
puis appelle ce motif par les variables serveurs %:
RewriteRule ^url1$ url2?autrenom=%1
où %1 sera le résultat de ta variable...

caedes
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 2
Inscription: 9 Déc 2005

Message le Ven Déc 09, 2005 15:41

OK tout compris ! Merci bcp à vous deux !

Je viens de tester, et je n'ai plus aucun soucis !


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités