Pb url rewriting et redirection 301

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

breizh_web
WRInaute discret
WRInaute discret
 
Messages: 83
Inscription: Mer Sep 14, 2005 8:06

Pb url rewriting et redirection 301

Message le Ven Juin 16, 2006 8:22

Bonjour,

J'ai mis en place l'url rewriting sur mon site et je voudrais faire des redirections permanentes des anciennes pages vers les nouvelles sans perdre le référencement des anciennes pages.

J'ai lu dans un article sur abondance que l'on pouvait le faire en mettant :

Code: Tout sélectionner
RewriteRule recette.php?id_recette=2 recette-2.html [R=301]


Mais ça ne marche pas :cry: , quand j'appele la page recette.php?id_recette=2 et bien je reste bien sur cette page et je ne suis pas redirigée vers la page recette-2.html, je ne comprends pas pourquoi ça ne marche pas.

En plus je souhaiterais le faire pour toutes les recettes alors je pourrais mettre quelque chose de la forme :

Code: Tout sélectionner
RewriteRule recette.php?id_recette=$1 recette-([0-9]*).html [R=301]


Mais ça ne marche pas non plus.

Soit je comprends pas bien le fonctionnement soit je fais une erreur fondamentale ! J'ai compris que ses redirections servaient à rediriger les personnes arrivant sur la pge recette.php?id_recette=2 vers recette-2.html automatiquement et ceci aussi pour que les moteurs de recherche mettent à jour dans leur index les adresses de mon site.

Merci d'avance si quelqu'un peut m'aider car là je ne sais plus où chercher, ni quoi essayer ! :wink:

retza
WRInaute discret
WRInaute discret
 
Messages: 56
Inscription: Mer Fév 16, 2005 17:27

Re: Pb url rewriting et redirection 301

Message le Ven Juin 16, 2006 9:00

Code: Tout sélectionner
RewriteRule recette.php?id_recette=2 recette-2.html [R=301]


Euhhh... c'est pas l'inverse qu'il faut écriture ??
:arrow: RewriteRule recette-2.hmtl recette.php?id_recette=2 [R=301]

Et même mieux, en utilisant une variable à la place du numéro
RewriteRule recette-(.*).hmtl recette.php?id_recette=$1 [R=301]

breizh_web
WRInaute discret
WRInaute discret
 
Messages: 83
Inscription: Mer Sep 14, 2005 8:06

Message le Ven Juin 16, 2006 9:06

Non ça ne marche pas non plus, j'ai effectivement d'abord essayé dans les 2 sens mais le tuto que j'ai vu sur abondance, c'est bien : RewriteRule recette.php?id_recette=2 recette-2.html [R=301] et non RewriteRule recette-2.html recette.php?id_recette=2 [R=301]

Ceci ne marche pas non plus : RewriteRule recette-([0-9]*).html recette.php?id_recette=$1 [R=301]

merci d'avance

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Ven Juin 16, 2006 9:06


breizh_web
WRInaute discret
WRInaute discret
 
Messages: 83
Inscription: Mer Sep 14, 2005 8:06

Message le Ven Juin 16, 2006 9:18

J'ai bien regardé les autres messages que tu donnes, je te remercie, alors j'ai essayé, mais ça ne marche pas, je donne tout le code du fichier htaccess car ça vient peut être aussi du reste !

Code: Tout sélectionner
RewriteEngine On
RewriteRule ^recette\.php$ %{QUERY_STRING} [C]
RewriteRule id_recette=([0-9]+) http://www.recette-philomene.com/recette-$1.html [R=301]
RewriteRule ^liste-([a-z]*)-([a-z]*)-([0-9]*).html /liste.php?name_cat=$1&limit=$2 [L]
RewriteRule ^liste-([a-z]*)-([0-9]*).html /liste.php?name_cat=$1&limit=$2 [L]
RewriteRule ^recette-facile-([0-9]*).html /recette-facile.php?limit=$1 [L]
RewriteRule ^liste-([a-z]*)-([a-z]*).html /liste.php?name_cat=$1 [L]
RewriteRule ^liste-([a-z]*).html /liste.php?name_cat=$1 [L]
RewriteRule ^plan-([0-9]*).html /plan.php?limit=$1 [L]
RewriteRule ^recette-([0-9]*).html /recette.php?id_recette=$1 [L]
RewriteRule (.*)\.html /$1.php [L]


Et voilà ce qu'il me répond :
Moved Permanently

The document has moved here.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Donc ça marche pas :cry:

qu'est ce que j'ai fait de mal, je comprends pas

Merci d'avance

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Ven Juin 16, 2006 9:33

Peut-être dû au fonctionnement du .htaccess qui réévalue les adresses après réécritures.
Avec un peu de chance, ca devrait fonctionner
Code: Tout sélectionner
RewriteCond %{THE_REQUEST} recette\.php
RewriteCond ^recette\.php$ %{QUERY_STRING} [C]
RewriteRule id_recette=([0-9]+) http://www.recette-philomene.com/recette-$1.html [R=301,L]

breizh_web
WRInaute discret
WRInaute discret
 
Messages: 83
Inscription: Mer Sep 14, 2005 8:06

Message le Ven Juin 16, 2006 9:36

Non ça ne marche touours pas, maintenant l'erreur est :
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, tech@nuxit.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Ven Juin 16, 2006 9:40

Au temps pour moi, j'ai écrit RewriteCond au lieu de RewriteRule
Code: Tout sélectionner
RewriteCond %{THE_REQUEST} recette\.php
RewriteRule  ^recette\.php$ %{QUERY_STRING} [C]
RewriteRule id_recette=([0-9]+) http://www.recette-philomene.com/recette-$1.html [R=301,L]

breizh_web
WRInaute discret
WRInaute discret
 
Messages: 83
Inscription: Mer Sep 14, 2005 8:06

Message le Ven Juin 16, 2006 10:24

On avance on avance, maintenant quand je demande : recette.php?id_recette=2 et bien il me redirige vers : http://www.recette-philomene.com/recett ... recette=10, ce qui n'est pas bon mais la page s'affiche correctement, et là je comprends pas pourquoi :cry:

Est ce que ça ne viendrait pas des autres regles de réecriture de mon htaccess par hasard ?

merci d'avance

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Ven Juin 16, 2006 10:44

Non, il embarque les paramètres initiaux dans la redirection.
Code: Tout sélectionner
RewriteCond %{THE_REQUEST} recette\.php
RewriteRule  ^recette\.php$ %{QUERY_STRING} [C]
RewriteRule id_recette=([0-9]+) http://www.recette-philomene.com/recette-$1.html? [R=301,L]

Le ? après l'adresse indique que la redirection doit se faire sans paramètres.

breizh_web
WRInaute discret
WRInaute discret
 
Messages: 83
Inscription: Mer Sep 14, 2005 8:06

Message le Ven Juin 16, 2006 10:46

Encore une petite question pour vérifier que j'ai bien compris !

Donc il faut laisser comme ça, ça marche, ça ne risque pas d'indexer les 2 adresses : http://www.recette-philomene.com/recett ... recette=10 et http://www.recette-philomene.com/recette-10.html ???

Merci

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Ven Juin 16, 2006 10:49

Il faut ajouter le ? dans la règle de réécriture pour que la redirection se fasse sans id_recette=10

breizh_web
WRInaute discret
WRInaute discret
 
Messages: 83
Inscription: Mer Sep 14, 2005 8:06

Message le Ven Juin 16, 2006 11:42

Ok, je te remercie beaucoup, ça marche maintenant !

Désolée je n'avais pas vu que tu avais rajouté le ? à la fin, merci encore :wink:


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 :

  • Tester le type de redirection
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).
  • Analyse de l'entête HTTP
    Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.


Qui est en ligne

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