Aller au contenu

Sujets conseillés

Posté

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.

Posté

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?

Posté

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

Posté

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:

Posté

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.

Posté
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.

Posté

Merci Dan et Rémi pour ces explications.

OVH 60GP, c'est juste ;)

Veuillez vous connecter pour commenter

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



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