Transmettre des variables avec une url rewritée

WRInaute discret
Hellow !

Je viens de passer tout mon site en url rewriting (je sais pas si ça se dit...) !

Seulement, j'ai un problème.

Comment est-ce que je peux faire si je veux passer des variables dans une url rewrité ?
Je sais, ça a l'air idiot vu que le but de rewriter, c'est justement de ne plus voir les variables mais j'ai besoin de faire ça parce que mon livre d'or (alex guestbook) récuprére la page de l'adresse du livre pour faire le liens des pages.

Je m'explique : indexlivredor.htm
Du coup, si on va en page deux du forum, il va faire indexlivredor.htm?p=2&m=&dd=m etc

Mais ça ne marche pas évidemment.

Voici les deux lignes intéressantes dans mon htaccess :
RewriteRule ^([a-zA-Z0-9_]*)\.htm?([a-zA-Z0-9_&=]+)$ /index.php?page=$1&$2 [L]
RewriteRule ^([a-zA-Z0-9_]*)\.htm$ /index.php?page=$1 [L]

En principe, c'est la première ligne qui devrait reconnaitre l'url et la rewrité. La deuxième est là pour quand ce n'est pas reconnu par une autre ligne.
Seulement, il semblerais que l'url ne soit reconnu que par la deuxième. Donc, forcément on retombe toujours sur la première page du livre vu que les variables ne sont pas transmises....


Pourquoi la première ligne ne marche-t-elle pas ?

Merci !!
 
WRInaute passionné
Ayant un peu lu les forums et le code: il me semble que la 1ere ligne est mauvaise.
Il faudrait transformer indexlivredor.php?p=2&m=&dd=m en indexlivredor_p2.htm ou un truc comme ca...
 
WRInaute discret
Bon, alors :

Quand on veut arriver sur la page du livre d'or, on entre ça :
indexlivredor.wju
(heu, oui, je me suis inventé ma propre extension :d)

Maintenant, si je veux aller en page 2, voici l'url :
indexlivredor.wju?debut=10&mots_search=&lang=&skin=&seeAdd=&seeNotes=&seeMess=&page=indexlivredor

Donc, le livre d'or ajoute une série de variables à ma page rewrité !

C'est pourquoi j'ai tenté ça :
RewriteRule ^([a-zA-Z0-9_]*)\.htm?([a-zA-Z0-9_&=]+)$ /index.php?page=$1&$2 [L]

Qui devrait récupéréer la chaine de requéte et la transmettre........

Je précise que je ne désire pas url rewrité le livre ! Je m'en fiche qu'il soit référencé ou pas et de toutes manières, ce serait bien pratique de pouvoir quand même passer une varibles sur une page rewrité.... histoire de ne pas devoir créer une régle à chaque foi.
 
WRInaute impliqué
au lieu de mettre [L] en fin de ligne de tes réecritures
tu mets :
[QSA,L]

QSA signifie : query string append
ça veut dire que tu prends les paramétres si ils y en a

donc
RewriteRule ^([a-zA-Z0-9_]*)\.htm?([a-zA-Z0-9_&=]+)$ /index.php?page=$1&$2 [L]

devient
RewriteRule ^([a-zA-Z0-9_]*)\.htm$ /index.php?page=$1 [QSA,L]

en gros :wink:
@+
 
WRInaute occasionnel
Heu moi je vais m'y mettre au rewritting, mais j'ai une petite question, pour le moment mes liens sont de types : ../index.php?variable=valeur?...

Je peux laisser mes liens comme ca ou je dois tout changer sur mon site :? C'est le .htaccess qui gere tout?

Merci :)
 
Discussions similaires
Haut