Ma règle ne fonctionne pas ?!

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

FrenchKiss
WRInaute discret
WRInaute discret
 
Messages: 187
Inscription: 6 Oct 2004

Ma règle ne fonctionne pas ?!

Message le Jeu Mai 11, 2006 15:51

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: Tout sélectionner
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: Tout sélectionner
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: Tout sélectionner
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.


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Message le Jeu Mai 11, 2006 15:54

et ca ?

RewriteEngine On
RewriteRule /pages/contributeurs.php?id_contributeur=2 /articles/author/admin/ à la racine de ton site ?

FrenchKiss
WRInaute discret
WRInaute discret
 
Messages: 187
Inscription: 6 Oct 2004

Message le Jeu Mai 11, 2006 16:06

Non plus :/

ChezThierry
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 273
Inscription: 21 Oct 2005

Message le Jeu Mai 11, 2006 16:33

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: Tout sélectionner
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)

FrenchKiss
WRInaute discret
WRInaute discret
 
Messages: 187
Inscription: 6 Oct 2004

Message le Jeu Mai 11, 2006 16:54

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 ;)

ChezThierry
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 273
Inscription: 21 Oct 2005

Message le Jeu Mai 11, 2006 18:44

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: Tout sélectionner
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

FrenchKiss
WRInaute discret
WRInaute discret
 
Messages: 187
Inscription: 6 Oct 2004

Message le Jeu Mai 11, 2006 20:21

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 :)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités