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 :

RewriteRule qui ne fonctionne pas


Sujet :

Apache

  1. #1
    Invité
    Invité(e)
    Par défaut RewriteRule qui ne fonctionne pas
    Bonjour,

    J'ai de vielles URL sur mon site écrites de la façon suivante :
    http://monsite/AAAAMMJJ/url
    où AAAAMMJJ est en fait la date de l'article, par 20091121

    Or j'ai changé l'URL-rewriting du site en supprimant cette date au milieu et en rajoutant le numéro xxxx de l'article à la fin de l'URL, soit :
    http://monsite/url-xxxx

    J'ai donc rentré les 2 règles suivantes dans mon .htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteRule ^([0-9]{8}/)(.+) $2
    RewriteRule ^(.+)(-[0-9]+)$ $1
    Bizarrement, la 2eme RewriteRule fonctionne bien... mais la 1ere par contre ne fonctionne pas !
    Autrement dit, les liens du type http://monsite/AAAAMMJJ/url ne sont pas redirigés vers http://monsite/url (mais ils fonctionnent quand-même)

    Qqun peut-il m'aider SVP ?

    D'avance merci beaucoup

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Si tu veux que le navigateur soit explicitement redirigé (i.e. l'URL dans la barre d'adresse change), il faut ajouter un R dans les crochets avec le code de redirection (301 = redirection permanente, 302 = redirection temporaire) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^([0-9]{8}/)(.+) $2 [R=301]

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci beaucoup _Mac_

    Apparemment, je peux aussi rajouter un flag QSA pour gérer les variables [QSA,R=301]

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

Discussions similaires

  1. RewriteRule qui ne fonctionne pas sans le flag R
    Par Florian Goo dans le forum Apache
    Réponses: 16
    Dernier message: 26/11/2009, 14h23
  2. RewriteRule qui ne fonctionne pas
    Par jetrokz dans le forum Apache
    Réponses: 3
    Dernier message: 04/11/2009, 12h56
  3. Jointure externe qui ne fonctionne pas
    Par Guizz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/02/2004, 12h26
  4. CREATEFILEMAPPING qui ne fonctionne pas???
    Par Jasmine dans le forum MFC
    Réponses: 2
    Dernier message: 06/01/2004, 19h33
  5. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04

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