[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: 598
- Inscription: 1 Oct 2004
[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: 598
- Inscription: 1 Oct 2004
Personne ne sait comment forcer une redirection 301 sur une url déjà réécrite ?

- r._xmouse
- Nouveau WRInaute

- Messages: 12
- Inscription: 11 Mai 2004
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: 598
- Inscription: 1 Oct 2004
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: 598
- Inscription: 1 Oct 2004
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.
- r._xmouse
- Nouveau WRInaute

- Messages: 12
- Inscription: 11 Mai 2004
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: 598
- Inscription: 1 Oct 2004
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 :
- Probleme de redirection permanente 301
- Probléme de redirection permanente de page
- Problème de redirection permanente dans htaccess
- Redirection permanente 301 et petit problème
- [RESOLU] Problème de redirection
- [Resolu] Probleme redirection [Need Help]
- Ai je bien compris et résolu le probleme de redirection ?
- [Résolu] Problème de redirection avec un query string
- [résolu]problème d'une simple redirection .php en .html
- Redirection permanente.
- 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 1 invité
