URL Rewriting

[Résolu]
Signaler
Messages postés
66
Date d'inscription
lundi 12 mars 2007
Statut
Membre
Dernière intervention
5 mai 2009
-
Messages postés
66
Date d'inscription
lundi 12 mars 2007
Statut
Membre
Dernière intervention
5 mai 2009
-
Bonjour,
J'ai fais une règle d'url rewriting.
RewriteRule ^index-([^-/&?$]+).html$  index.php?page=$1  [L]
RewriteRule ^(.*).html $1.php [L]

Elle marche bien mais je cherche a rajouter un paramètre facultatif,
Exemple :
Le visiteur demande la page  index-news.html?num=10

En ce moment apache ne vois pas la valeur num, mais si je vais sur index.php?page=news&num=10 il va la voir.

Pouvez-vous m'aider à finir cette règle?

Merci d'avance.

6 réponses

Messages postés
66
Date d'inscription
lundi 12 mars 2007
Statut
Membre
Dernière intervention
5 mai 2009

WHOUAH, bessoin d'une fonction éditer.

Voila j'ai résolu mon problème en cherchant sur les caractères d'échapement sur exalead j'ai trouvé la signification du [L] et d'autre signes qui peuvent être placé a la fin de la régle.

[QSA] Query String Append.
Rajoute le QUERY_STRING à la fin de l’expression, après la réécriture.
A réserver pour la dernière règle de réécriture. Utilisée le plus
souvent avec le flag [L], comme dans [QSA,L]

Alors j'ai fais et tous marche :
RewriteRule ^index-([^-/&?$]+)\.html$  index.php?page=$1  [QSA,L]
RewriteRule ^(.*).html $1.php [L]

Merci de votre aide.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
salut

RewriteRule ^index-([^-/&?$]+).html(\?(.*)?)$  index.php?page=$1&$3  [L]
RewriteRule ^(.*).html(\?(.*)?)$ $1.php?$3 [L]
Messages postés
66
Date d'inscription
lundi 12 mars 2007
Statut
Membre
Dernière intervention
5 mai 2009

Merci mais ceci me retourne un impossible d'afficher la page.
The requested URL was not found on this server.

J'ai aussi essayer de remplacer $3 par $2.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
salut

c'est bizare ca... et avec des lignes du genre ?

RewriteRule ^index-([^-/&?$]+).html(\?(.*){1,})$  index.php?page=$1&$3  [L]
Messages postés
66
Date d'inscription
lundi 12 mars 2007
Statut
Membre
Dernière intervention
5 mai 2009

Meme chose, je crois que le mode rewrite ne peut pas récupérer ce qui a après le point d'exclamation.
Messages postés
66
Date d'inscription
lundi 12 mars 2007
Statut
Membre
Dernière intervention
5 mai 2009

Quand je fais
RewriteRule ^index-([^-/&?$]+).html(.*)$  index.php?page= $1&$2  [L]
et que je vais sur
index-news.htmlnum=10 (vous avec vu il n'y a pas de ?)
Tous marche
Mais je il me faut un ? pour séparer car je trouve sa très moche.
Alors je rajoute
RewriteRule ^index-([^-/&?$]+).html?(.*)$  index.php?page =$1&$2  [L]
Mais quand je fais sa je ne régupère plus ma valeur.

Vous savez comment régler ceci?
(Selon moi il faut un caractère d'échapement pour insérer le point d'intérogation, vous le conaissez?)