Version complète: sur le forum Webmaster Hub : J'ai un probleme avec un RewriteRule
Webmaster Hub > Création et exploitation de Sites Internet > Les fondations d'un site > Hébergement de Sites
steph
Bonjour,

J'ai besoin de transformer les adresses du type :
www.monsite.com/unepage.html?s=untruc
en
www.monsite.com/index.php?p=unepage&s=untruc

Avant j'utilisais :
RewriteRule ^(.*)\.html$ index.php?p=$1

qui ne me posait aucun problème puisque je n'avais pas de paramètre à transmètre.
(Adresses du style www.monsite.com/unepage.html)

J'ai donc modifié ma regle pour tenir compte des éventuels paramètres passés :
RewriteRule ^(.*)\.html\?(.*)$ index.php?p=$1&$2

Ca ne marche pas, j'ai une erreur 404 et je suis sûr que ça vient du caractère '?' de ma règle parce que si je le remplace par un tiret, ça fonctionne ex :
RewriteRule ^(.*)\.html-(.*)$ index.php?p=$1&$2
marche très bien avec des adresses du type : www.monsite.com/unepage.htm-s=untruc

Il y à surement un moyen de coder le '?' dans l'expression régulière mais je ne sais pas comment ... j'ai besoin d'aide ...

Steph
Dagnan
CITATION(steph @ mardi 17 août 2004, 13:39)
www.monsite.com/index.php?p=unepage&s=untruc

...

J'ai donc modifié ma regle pour tenir compte des éventuels paramètres passés :
RewriteRule ^(.*)\.html\?(.*)$ index.php?p=$1&$2

Et pourquoi pas
CODE
RewriteRule ^(.*)\.html\?(.*)$ index.php?p=$1&s=$2


Bon, d'un autre côté, je m'y connais pas en url rewriting, donc si quelqu'un de plus expérimenté pouvait s'exprimer rolleyes.gif
steph
Merci pour ton aide mais il faudrait que $2 contienne toutes les variables passées et pas seulement 's'

Je voudrais que ça marche aussi avec des adresses comme :
www.monsite.com/unepage.html&s=untruc&b=autrechose&c=.....

Steph
Dagnan
Ah ok, bah alors c'est beaucoup plus compliqué.
Désolé je ne suis pas la personne qui peut te répondre sad.gif
steph
Merci pour ton aide, si je trouve une solution je la posterai ici

Steph
Anonymus
Bonjour,

la solution se trouve dans les pages publication :
http://www.webmaster-hub.com/publication/article5.html
et concerne le flag (drapeau) QSA en milieu de page.
Cela permet de ne pas s'occuper de tout ce qui se trouve derrière le point d'interrogation, la chaine sera renvoyée en intégralité.

Voilà.
steph
Ca marche super bien :up: merci beaucoup.
J'avais bien vu l'article du Hub mais je n'avais pas percuté sur le drapeau QSA.

Ecore merci ,
Steph
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.