mod_rewrite: paramètre perdu

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : mod_rewrite: paramètre perdu

mod_rewrite: paramètre perdu

par jdbur » 01 avr. 2011, 15:31

Bonjour,
J'ai un problème avec mod_rewrite.
j'aimerais réécrire les adresses suivantes:
http://www.xyz.com/batiments-108 ==> http://www.xyz.com/a_batiments.php?e=108

Cela me semble simple. Voilà le contenu du .htaccess situé dans le dossier de base du site:
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{REQUEST_URI} ^/batiments-[0-9]+/?$
RewriteRule ^batiments-([0-9]+)/?$ a_batiments.php?e=$1 [QSA]

J'ai testé avec et sans [QSA], avec et sans [L], avec et sans [L,QSA], même résultat:
j'obtiens http://www.xyz.com/a_batiments.php: le paramètre e=108 est perdu.
Dans le log de mod_rewrite, je vois que l'adresse est correctement construite, puis le paramètre est séparé par un split avec args=e=108.
Mais il n'est pas remis sur l'adresse.
Quelqu'un peut-il m'expliquer ? J'ai pas mal cherché sur Google - sans résultat.
Merci d'avance !
jdbur