IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

RedirectPermanent : la règle indiquée n'est pas suivie


Sujet :

Apache

  1. #1
    Membre actif

    Inscrit en
    Juin 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2003
    Messages : 229
    Points : 223
    Points
    223
    Par défaut RedirectPermanent : la règle indiquée n'est pas suivie
    Bonjour,

    Je dois, pour des questions de référencement, rediriger d'anciennes pages d'un site vers de nouvelles, à l'aide d'une redirection 301.
    Je sais qu'il y a deux manières de faire : RedirectPermanent ou RewriteRule.

    Les adresses d'origine sont de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ancien.php?page=alpha&id_rubrique=8
    Les nouvelles adresses sont de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nouveau.php?id_doc=27
    Sans que id_rubrique et id_doc aient quoi que ce soit à voir ensemble. C'est pourquoi, j'ai décidé (j'ai pas vraiment le choix) d'écrire une règle par page.
    Il existe environ une centaine de page, et comme il n'y a pas de liens possibles entre les anciennes et les nouvelles pages, j'ai écrit les règles de la façon suivante :

    Avec RewriteRule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteEngine On
    RewriteRule ^ancien.php?page=alpha&id_rubrique=8$ http://www.exemple.fr/nouveau.php?id_doc=27 [L,R=301]
    qui ne fonctionne absolument pas (j'obtient une erreur 404).

    Avec RedirectPermanent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RedirectPermanent ancien.php?page=alpha&id_rubrique=8 http://www.exemple.fr/nouveau.php?id_doc=27
    Qui ne fonctionne pas mieux (erreur 404 aussi).

    Par ailleurs, et en ayant testé pas mal de chose, j'ai remarqué que la réécriture suivante fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RewriteRule ^ancien.php$ http://www.exemple.fr/nouveau.php?id_doc=27 [L,R=301]
    Lorsque j'apelle ancien.php?page=*&id_rubrique=*, la redirection fonctionne, je me retrouve bien sur la page http://www.exemple.fr/nouveau.php?id_doc=27...
    Le problème, c'est que je ne peux pas différencier mes pages, et donc, rediriger chaque ancienne URL par la nouvelle correspondante...

    En espérant avoir été clair...

  2. #2
    Membre actif

    Inscrit en
    Juin 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2003
    Messages : 229
    Points : 223
    Points
    223
    Par défaut
    Il y a une solution avec rewriteCond :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteCond %{QUERY_STRING} ^page=alpha&id_rubrique=8$
    RewriteRule ^ancien\.php$ http://www.exemple.fr/nouveau.php?id_doc=27 [L,R=301]
    En espérant que ça puisse aider quelqu'un

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  2. Réponses: 5
    Dernier message: 31/03/2008, 16h30
  3. [GD] imagedestroy qui m'indique que son paramètre n'est pas correct
    Par karaemrah dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/08/2007, 17h55
  4. Index n'est pas a jour
    Par touhami dans le forum Paradox
    Réponses: 5
    Dernier message: 11/12/2002, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo