[RESOLU] Problème de redirection permanente
8 messages • Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
-

Mountain Magazin - WRInaute impliqué

- Messages: 415
- Inscription: Ven Oct 01, 2004 10:27
[RESOLU] Problème de redirection permanente
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 :
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.
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é

- Messages: 415
- Inscription: Ven Oct 01, 2004 10:27
Personne ne sait comment forcer une redirection 301 sur une url déjà réécrite ?

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

- Messages: 415
- Inscription: Ven Oct 01, 2004 10:27
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
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
-

Mountain Magazin - WRInaute impliqué

- Messages: 415
- Inscription: Ven Oct 01, 2004 10:27
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.
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.
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.
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é

- Messages: 415
- Inscription: Ven Oct 01, 2004 10:27
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
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]
8 messages • Page 1 sur 1
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 :
- Référencement : gestion des redirections par Yahoo
- Redirection (PHP, JavaScript, serveur...)
- Les redirections 301 passent-elles encore le contexte sémantique ?
- Pour votre référencement, utilisez un nom de domaine !
- Contrer une redirection 302 intempestive...
- Le détournement de page par redirection
- Aperçu des différents types de redirection
- X-Robots-Tag : directive pour bloquer les robots dans l'entête HTTP : explications
- Comment résoudre les problèmes de Bourbon...
- A propos des redirections sauvages (302)
- redirection permanente et pr
- Redirection permanente ?!
- Redirection permanente
- Redirection javascript et redirection permanente
- PR et redirection permanente...
- redirection permanente...
- Porbleme redirection permanente
- htaccess redirection permanente
- redirection permanente et référencement
- redirection permanente en htaccess
- Redirection permanente via .htaccess
- Syntaxe de redirection permanente
- redirection permanente... Bug
- Redirection permanente et UR; [R = 301 L] ?
- redirection permanente nomdomaine.com vers .fr
- 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

le forum