Une redirection mais pas deux

  • Auteur de la discussion Auteur de la discussion Uld
  • Date de début Date de début
Nouveau WRInaute
Bonjour à tous,
j'expérimente aujourd'hui l'url rewriting de mon site et je me bloque sur un problème dans mon htaccess.

Mon site utiliset des pages de style:
index.php?p=nom

mon .htaccess ressemble donc à ca:

RewriteEngine On
RewriteRule ^(.+)\.html$ index.php?p=$1

Jusqu'ici tout va bien.

Seul soucis j'ai aussi des page sous la forme:
index.php?p=nom&q=chiffre

j'ai donc modifié mon .htacces pour qu'il ressemble à ca:
RewriteEngine On
RewriteRule ^(.+)\.html$ index.php?p=$1
RewriteRule ^nom(.+)\.html$ index.php?p=nom&q=$1

La regexp semble être bonne mais le soucis que je rencontre c'est que la redirection ne passe pas.
Pourtant je suis sûr que la regexp est bonne puisque oh miracle, ca marche si je comment (avec #) ma première redirection (qui du coup elle ne marche plus, logique)

Pourquoi donc ne puis je donc pas avoir les deux redirections en meme temps???

Ai je raté quelque chose??

Merci par avance, Uld
 
WRInaute passionné
Oui, tu a raté quelquechose...

Code:
RewriteEngine On
RewriteRule ^nom(.+)\.html$ index.php?p=nom&q=$1
RewriteRule ^(.+)\.html$ index.php?p=$1

... et je te laisse deviner quoi :wink:
 
Nouveau WRInaute
Hum.... l'ordre aurait donc une importance...

Merci de m'avoir mis sur la piste, j'en pouvais plus de chercher là.
 
WRInaute occasionnel
L'ordre a une importance parce que la première règle de ta liste match les deux cas que tu cites, donc ton URL est modifiée avant que apache execute la deuxième règle, et tu n'as donc déjà plus une URL du type ^nom(.+)\.html mais déjà un index.php?p=nomquelquechose
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut