Aller au contenu

301 suivie de rewriting


Sujets conseillés

Bonjour,

Mon .htacess à la racine de -http://www.presidentielle-2007.net/ dit ceci:

...
RedirectPermanent /portrait-noel-mamere.htm http://www.presidentielle-2007.net/portrait,noel-mamere.htm
...
RewriteEngine on
...
RewriteRule ^portrait-(.+)\.htm$ /candidats.php?candidat=$1 [L]
RewriteRule ^portrait,(.+)\.htm$ /non-candidats.php?candidat=$1 [L]
...

L'idée est la suivante:

- Jusqu'à maintenant l'URL -http://www.presidentielle-2007.net/portrait-noel-mamere.htm présentait le contenu de -http://www.presidentielle-2007.net/candidats.php?candidat=noel-mamere

- J'ai ajouté la redirection permanente et la 2ème règle de réécriture pour que -http://www.presidentielle-2007.net/portrait-noel-mamere.htm redirige vers -http://www.presidentielle-2007.net/portrait,noel-mamere.htm qui présente le contenu de -http://www.presidentielle-2007.net/non-candidats.php?candidat=noel-mamere

Ca ne marche pas comme je veux. Quand je tape -http://www.presidentielle-2007.net/portrait-noel-mamere.htm j'obtiens bien une 301, mais vers -http://www.presidentielle-2007.net/portrait,noel-mamere.htm?candidat=noel-mamere

Comment corriger mon .htaccess pour éliminer ce "?candidat=noel-mamere" indésirable?

Merci.

Lien vers le commentaire
Partager sur d’autres sites

Jean-Luc, je viens de faire l'essai en ne laissant que les 4 lignes que je montre plus haut dans le .htaccess: le problème est bien présent. Je pense donc que ce sont ces 3 règles qui en sont la cause.

Il doit falloir supprimer ce query string quelque part, mais ou et comment?

Lien vers le commentaire
Partager sur d’autres sites

Salut Jan,

Je remplacerais le RedirectPermanent par

RewriteRule  /portrait-noel-mamere.htm http://www.presidentielle-2007.net/portrait,noel-mamere.htm [R=301,L]

que je mettrais avant les autres règles... ;)

Dan

Lien vers le commentaire
Partager sur d’autres sites

Merci Dan,

Ca marche en enlevant le / initial:

RewriteRule portrait-noel-mamere.htm http://www.presidentielle-2007.net/portrait,noel-mamere.htm [R=301,L]

:thumbsup:

En revanche j'avoue que je n'ai pas tout compris au pourquoi du problème avec un RedirectPermanent :blush:

Lien vers le commentaire
Partager sur d’autres sites

Il faut bien garder à l'esprit que lorsque un Redirect est vérifié, Apache ne s'arrête pas de passer en revue le htaccess :

Il enregistre la redirection mais ne l'applique pas tout de suite... il continue de passer en revue le htaccess mais (et c'est là que ça se corse, comme disait Napoléon) *avec l'url d'origine* ( et non la cible de la redirection)... :wacko:

Cela donne parfois des trucs un peu bizarres comme celui que tu cites. Et dans ce cas, la meilleure solution est bien celle que Dan t'a donnée, c.a.d. utiliter l'UR pour faire la 301.

Lien vers le commentaire
Partager sur d’autres sites

Merci Dan,

Ca marche en enlevant le / initial:

Et oui, j'oubliais que ton site était sur serveur mutualisé OVH (60GP si je ne m'abuse :lol: )

Et pour le RedirectPermanent, je préfère ne jamais mélanger avec RewriteRule.

J'utilise soit mod_alias, soit mod_rewrite ... et je ne pense pas qu'il soit conseillé d'utiliser les deux. En tout cas c'est inutile, parce que mod_rewrite sait TOUT rediriger, alors que mod_alias ne traite que les cas les plus simples.

Le seul cas où j'utilise mod_alias (et RedirectPermanent) est pour rediriger un site complet, comme http://www.webmaster-hub.eu ... sans règle particulière.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...