Webmaster Hub: Rewrite URL et Redirect 301 - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Rewrite URL et Redirect 301 Changer les URL d'un site en gardant le page rank Noter : -----

#1 L'utilisateur est hors-ligne   t_penible 

  • Groupe : Membre
  • Messages : 2
  • Inscrit(e) : 28-septembre 10

Posté 29 septembre 2010 - 07:52

Bonjour à tous,
je planche sur un problème depuis cet après-midi sans pouvoir m'en sortir, aussi je viens vous demander de l'aide.
J'ai fait de l'URL Rewriting sur un site existant et déjà référencé dans Google. Mais avec les nouvelles URL, j'ai oublié de faire les redirections 301 pour garder les pages rank... :(
Le problème c'est que je n'arrive pas à avoir le bon code pour faire du rewriting et du redirect en même temps !

Au départ il y avait : http://www.domain.co..._FR/contact.php (indexée et page rankée)
Maintenant : http://www.domain.com/fr/contact/ (indexée et sans page rank)

Je voudrais dire à Google que ces 2 URL sont au final le même fichier php, et que dorénavant http://www.domain.co..._FR/contact.php va à http://www.domain.com/fr/contact/.

Voici la ligne de mon fichier .htaccess du dossier /fr_FR:
RewriteRule ^contact.php$ http://www.domain.com/fr/contact [R=301,QSA]

La redirection se passe bien, mais arrivé sur la page http://www.domain.com/fr/contact, j'ai une erreur 404.

et si je rajoute :
RewriteRule ^contact$ contact.php [QSA,L]

j'ai une jolie boucle infinie.

Comment lui dire de rewriter l'url avec une redirection 301 en même temps ?

Merci de votre aide.
0

#2 L'utilisateur est hors-ligne   baulet 

  • Groupe : Hubmaster
  • Messages : 496
  • Inscrit(e) : 12-novembre 06

Posté 29 septembre 2010 - 08:57

bonjour,

tu as le RedirectPermanent qui te fait un 301:

RedirectPermanent /ancienne-url.php http://www.ton-site.com/nouvelle-url.php


;)

Ce message a été modifié par baulet - 29 septembre 2010 - 08:58.

0

#3 L'utilisateur est hors-ligne   t_penible 

  • Groupe : Membre
  • Messages : 2
  • Inscrit(e) : 28-septembre 10

Posté 04 octobre 2010 - 14:47

Hello,

J'ai trouvé la solution à mon problème en testant la variable THE_REQUEST dans une règle RewriteCond.
En fait, c'est ce test qui permet de faire la différence entre une redirection externe et un rewrite d'URL interne au serveur.

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*contact\.php\ HTTP/ 
RewriteRule ^contact\.php$ http://www.domain.com/fr/contact/ [R=301,L]

RewriteRule ^contact/$ contact.php [L,NC,QSA]



Bonne journée.
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)