Ma règle ne fonctionne pas ?!

WRInaute discret
Bonjour à tous.
J'ai déjà pas mal utilisé l'Url Rewriting, mais là, une réécriture me donne du fil à retordre, et je n'arrive tout simplement pas à la faire fonctionner.

Ce que je veux, c'est indiquer que
la page
monsite.com/pages/contributeurs.php?id_contributeur=2
est désormais située à
monsite.com/articles/author/admin/
(redirection permanente).

Le .htaccess sur la racine de mon serveur ressemble donc à cela :

Code:
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^pages/contributeurs.php?id_contributeur=2$ http://www.monsite.com/articles/author/admin/ [R=301,L]

Mais ça ne fonctionne pas. J'ai aussi essayé (entre autres) avec

Code:
Options +FollowSymlinks
RewriteEngine On
RedirectPermanent pages/contributeurs.php?id_contributeur=2 http://www.monsite.com/articles/author/admin/

Mais ça ne fonctionne pas non plus.

J'ai essayé de mettant le .htaccess dans le répertoire "pages" :

Code:
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^contributeurs.php?id_contributeur=2$ http://www.monsite.com/articles/author/admin/ [R=301,L]

Mais devinez quoi ? Ca ne fonctionne pas non plus.

En fait, chacune des règles ci-dessus me renvoie à une page 404 quand j'essaie d'accèder à la page monsite.com/pages/contributeurs.php?id_contributeur=2

J'ai essayé avec [R=301,L], [R=301], [L], rien du tout... rien n'y fait.
Quelqu'un peut-il m'éclairer ? Je n'y comprends plus rien.
 
WRInaute accro
et ca ?

RewriteEngine On
RewriteRule /pages/contributeurs.php?id_contributeur=2 /articles/author/admin/ à la racine de ton site ?
 
WRInaute occasionnel
le RewriteRule ne traite pas les variables situées après l'URL (dans ton cas, le ?id_contributeur=2)

Si tu veux ne rediriger que cette page, et pas id_contributeur=3 ni 4, il faut faire ainsi :
Code:
RewriteCond %{QUERY_STRING} ^id_contributeur=2$
RewriteRule ^contributeurs\.php$ http://www.monsite.com/articles/author/admin/ [R=301,L]

(en espérant ne pas avoir inclus de faute de frappe)
 
WRInaute discret
Impeccable, ça fonctionne !
J'ai du modifier un peu la règle :
RewriteCond %{QUERY_STRING} ^id_contributeur=2$
RewriteRule contributeurs.* http://www.frenchtouchseduction.com/art ... hor/admin/ [R=301]
... et ça ne fonctionne que si je mets la règle dans un .htaccess situé DANS le répertoire page (à la racine du site, ça ne fonctionne pas, même avec des URL absolues <- ?)

... et, plus gênant, ça me redirige vers l'url
.com/articles/author/admin/?id_contributeur=2

RewriteCond %{QUERY_STRING} ^id_contributeur=2$
RewriteRule contributeurs.* http://www.frenchtouchseduction.com/art ... hor/admin/ [R=301]

--> des suggestions pour ne pas avoir le QUERY_STRING qui se concatène à l'url de destination ? Un flag spécial peut être ?

En tout cas merci pour ce début de réponse, le plus dur est fait, et je n'aurais pas trouvé tout seul ;)
 
WRInaute occasionnel
Bah, normalement, il faut METTRE un flag pour que la query-string soit reportée ( [QSA]). ça m'étonne que tu l'ais automatiquement ! Du coup, je ne vois pas comment l'enlever.

Eventuellement, puisqu'on fait dans le bizarre, essaye de rajouter une query-string vide dans l'url rewritée, ainsi :
Code:
RewriteRule (...)or/admin/[b]?[/b] [R=301]

(le ? en plus est tout ce que j'ai changé)
Mais bon, c'est une (eventuelle) solution bizarre à un comportement bizarre
 
WRInaute discret
Oui voilà, c'est bien ce qui me semblait. Et j'ai cherché, il n'est fait mention nulle part d'un QSA par défaut...

Eventuellement, puisqu'on fait dans le bizarre, essaye de rajouter une query-string vide dans l'url rewritée, ainsi :
Code:

RewriteRule (...)or/admin/? [R=301]


(le ? en plus est tout ce que j'ai changé)
Mais bon, c'est une (eventuelle) solution bizarre à un comportement bizarre
Ca fonctionne impec.

Si tu veux voir ce que ça donne, ça se passe là :
-http://www.frenchtouchseduction.com/pages/contributeurs.php?id_contributeur=2

Merci beaucoup pour ton aide :)
 

➡️ 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