[RESOLU] Problème de redirection permanente

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


Mountain Magazin
WRInaute impliqué
WRInaute impliqué
 
Messages: 415
Inscription: Ven Oct 01, 2004 10:27

[RESOLU] Problème de redirection permanente

Message le Dim Jan 18, 2009 23:55

Salut,

J'ai un souci de redirect 301, et je ne trouve pas ma solution. Peut être pourrez vous m'aider.

Actuellement, j'ai une page qui a cette structure de base :
nouveau.php?lang=fr&position=0 (position correspond à la pagination)

Cette page est réécrite sous la forme :
nouveau_fr,0.html

Pour cela j'utilise la règle suivante :
Code: Tout sélectionner
RewriteRule ^nouveau_([a-z]+),([0-9]+)\.html$ nouveau.php?lang=$1&position=$2 [L]


Jusque là, tout va bien. Pour y parvenir, le lien pointe sur l'adresse nouveau_fr,0.html et non sur l'adresse nouveau.php?lang=fr&position=0
C'est une règle classique de réécriture.

Par contre, dans le cadre de la refonte du site, je veux modifier l'URL de cette page.

Je veux donc passer du format nouveau_fr,0.html au format /fr/0/nouveau

Le souci, c'est que je peux faire pointer les liens à l'avenir sur le nouveau format /fr/0/nouveau et écrire la règle comme la première à partir de nouveau.php?lang=fr&position=0

Mais ce que je veux, c'est que si quelqu'un arrive sur l'ancienne page nouveau_fr,0.html (depuis un moteur), celle ci soit transformée en /fr/0/nouveau sans que l'accès se fasse à travers un lien au nouveau format.

Il existe la règle redirect permanent, mais je n'arrive pas à l'appliquer avec des variables, puisque les variables changent.

J'espère que je suis clair. Merci de votre aide.
Dernière édition par Mountain Magazin le Mar Jan 20, 2009 15:50, édité 1 fois.


Mountain Magazin
WRInaute impliqué
WRInaute impliqué
 
Messages: 415
Inscription: Ven Oct 01, 2004 10:27

Message le Mar Jan 20, 2009 12:34

Personne ne sait comment forcer une redirection 301 sur une url déjà réécrite ?
:cry:

r._xmouse
Nouveau WRInaute
 
Messages: 12
Inscription: Mar Mai 11, 2004 16:48

Message le Mar Jan 20, 2009 14:20

as tu essayé ceci ?
suis pas sur de la syntaxe correcte mais l'idée est de rediriger l'ancienne syntaxe vers la nouvelle puis la nouvelle vers l'url reel

^nouveau_([a-z]+),([0-9]+)\.html$ /$1/$2/nouveau [R=310,L]


^([a-z]+)/([0-9]+)/nouveau$ nouveau.php?lang=$1&position=$2 [L]


dit moi si ça tourne...


Mountain Magazin
WRInaute impliqué
WRInaute impliqué
 
Messages: 415
Inscription: Ven Oct 01, 2004 10:27

Message le Mar Jan 20, 2009 14:53

Salut,

Merci de la piste, mais ça ne fonctionne pas. En fait, il me faudrait réécrire deux règles successives, mais que la seconde, sous forme R301 force l'URL

Ton idée semblait bonne, mais ça va pas. L'ancienne adresse (celle rewritée) reste accessible, mais elle n'est pas réécrite vers la nouvelle

forcément, depuis les moteurs, les gens vont arriver sur les anciennes URL. Les liens du site seront à jour, mais si je prends pas cette précaution, je vais foutre tout mon référencement en l'air.

Merci de votre aide, si quelqu'un sait comment faire ça, je lui serait éternellement reconnaissant :)

PS : c'est un dédié chez OVH

r._xmouse
Nouveau WRInaute
 
Messages: 12
Inscription: Mar Mai 11, 2004 16:48

Message le Mar Jan 20, 2009 14:59

As tu essayé d'inverser les 2 regles ?



^([a-z]+)/([0-9]+)/nouveau$ nouveau.php?lang=$1&position=$2 [L]

^nouveau_([a-z]+),([0-9]+)\.html$ /$1/$2/nouveau [R=310,L]


Mountain Magazin
WRInaute impliqué
WRInaute impliqué
 
Messages: 415
Inscription: Ven Oct 01, 2004 10:27

Message le Mar Jan 20, 2009 15:12

Ouais, j'ai inversé, bien sur, tenté des variantes... et j'ai essayé aussi avec redirect permanent mais rien n'y fait.

Je n'arrive pas à rediriger et surtout forcer la réécriture lorsque l'on pointe sur l'ancien lien, et c'est gênant, parce que la structure des URL va changer pas mal.

r._xmouse
Nouveau WRInaute
 
Messages: 12
Inscription: Mar Mai 11, 2004 16:48

Message le Mar Jan 20, 2009 15:33

Je viens de tester cela fonctionne parfaitement chez moi avec ce code :
RewriteRule ^([a-z]+)/([0-9]+)/nouveau$ nouveau.php?lang=$1&position=$2 [L]

RewriteRule ^nouveau_([a-z]+),([0-9]+)\.html$ /$1/$2/nouveau [R=301]

à savoir que quand on tape l'url : nouveau_fr,0.html cela renvoie directement à l'url : /fr/0/nouveau
qui elle, appelle bien vers : nouveau.php?lang=fr&position=0

tu doit avoir une erreur autre part.


Mountain Magazin
WRInaute impliqué
WRInaute impliqué
 
Messages: 415
Inscription: Ven Oct 01, 2004 10:27

Message le Mar Jan 20, 2009 15:50

Ecoute, je viens de refaire le test, tout fonctionne parfaitement.

Merci beaucoup de ton aide.

J'ai supprimé le .htaccess du serveur et l'ai rechargé via mon FTP. Peut être qu'il n'arrivait pas à l'écraser...

En tout cas, merci encore, parce que même sans ce souci de FTP, j'étais parti sur la mauvaise piste.

C'est sympa de m'avoir aidé, j'étais scotché là dessus.

Pour ceux qui ont pas compris, voici la solution de r._xmouse

Code: Tout sélectionner
#On fait une règle nouvelle avec le nouveau format souhaité à partir de l'URL Brute qui contient les paramètres en $_GET

RewriteRule ^([a-z]+)/([0-9]+)/nouveau$ nouveau.php?lang=$1&position=$2 [L]

#Un fois le nouveau format défini, on force la redirection 301 de l'ancien format de réécriture vers le nouveau pour les moteurs entre autre

RewriteRule ^nouveau_([a-z]+),([0-9]+)\.html$ /$1/$2/nouveau [R=301]


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 la validité d'un lien
    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).


Qui est en ligne

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