RewriteCond + RewriteRule + parameter = je sèche ...

WRInaute occasionnel
Bonsoir,

J'essaie de rediriger des vieilles pages du type :

Code:
/fille-ou-garcon.php?membre=56

vers une page qui fait une requête dans ma base de donnée et envoie une page en moved permanently en php:

Code:
/membre/redirect.php?membre=56

Voici ce que j'ai tenté après pas mal de temps mais toujours rien :

Code:
RewriteCond %{THE_REQUEST} ^/fille-ou-garcon\.php\?membre=(.*)$
RewriteRule  fille-ou-garcon.php /membre/redirect.php?membre=%1  [L]

Quelqu'un a une idée ? :cry:

Merci d'avance.
 
WRInaute accro
t'es sur que ca passe en htaccess et pas directement dans le fichier ca ? Parce qu'à mon avis, avec un htaccess, c'est pas possible. Une redirection dans le fichier fille-ou-garcon.php sera plus efficace.
 
WRInaute occasionnel
finstreet a dit:
t'es sur que ca passe en htaccess et pas directement dans le fichier ca ? Parce qu'à mon avis, avec un htaccess, c'est pas possible. Une redirection dans le fichier fille-ou-garcon.php sera plus efficace.


je pourrais copier-coller le code de ma page redirect.php dans fille-ou-garcon.php mais bon si je peux éviter d'avoir 2 fichiers qui font la même chose je préfère :wink:
 
WRInaute passionné
essaye :
Code:
RewriteCond %{QUERY_STRING} ^membre=(.*)$
RewriteRule ^fille-ou-garcon\.php$ /membre/redirect.php [L,QSA]
 
WRInaute occasionnel
forty a dit:
essaye :
Code:
RewriteCond %{QUERY_STRING} ^membre=(.*)$
RewriteRule ^fille-ou-garcon\.php$ /membre/redirect.php [L,QSA]

Nikel , merci beaucoup :lol:

Je retiens deux erreurs de ma part :

1) il faut échapper le point dans : ^fille-ou-garcon\.php$
2) l'utilisation du flag QSA (les paramètres du GET sont transmis à la page de destination tels quels) qui s'avère pratique finalement : [L,QSA]
 
WRInaute passionné
Après relecture je pense que tu peux même simplifier. La condition n'est pas forcément utile si tu veux toujours remplacer fille-ou-garcon.php par /membre/redirect.php. D'autre part QSA n'est pas nécessaire si tu n'ajoutes pas de paramètres (ils sont ajoutés automatiquement) :
Code:
RewriteRule ^fille-ou-garcon\.php$ /membre/redirect.php [L]
 
WRInaute occasionnel
Effectivement celà marche aussi , je suis preneur.
Je vais finir par comprendre la syntaxe de rewriting sur le bout des doights à force :wink:
 
Discussions similaires
Haut