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 :

rewrite rule & redirection ne fonctionne pas!


Sujet :

Apache

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut rewrite rule & redirection ne fonctionne pas!
    Bonsoir,

    j'ai passé des heures et des heures a essayer de comprendre ce qui ne va pas avec mes regeles et redirections, en vain!
    Suite a des changement d'URLs sur le site, j'ai mis en place quelque regles de redirections 301 mais ca me redirige vers site.com/product/name/?tld=fr

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    ## repertoire des langues
    RewriteRule ^([a-z]{2})/(.*)$ /$2?tld=$1 [QSA,L]
     
    ######### changed urls ##########
    RewriteRule ^store/proteines-en-poudre/$ /store/proteines/ [L,R=301]
    RewriteRule ^store/protein-powders/$ /store/proteins/ [L,R=301]
    #  + autres regles similaires qui marchent toutes bien
     
    # aniennes questions
    RewriteRule ^store/questions/[0-9]{3}/([a-z0-9-]+)/$ /product/$1/questions/ [L,R=301]
     
    # aniennes reponses
    RewriteRule ^store/answers/([a-z0-9-]+)/[0-9]+/([a-z0-9-]+)/$ /product/$1/$2/ [L,R=301]
     
    # anienne fiche produit
    RewriteRule ^store/[a-z0-9-]+/[0-9]{3,4}/([a-z0-9-]+)/$ /product/$1/ [L,R=301]
     
    ...
     
     
    # fiche produit
    RewriteRule ^product/([a-z0-9-]+)/$ /product/rw.info.php?name_url=$1 [QSA,L]
    UNIQUEMENT les 3 derniere redirections et meme si je n'en laisse qu'une, elle ne marchent pas correctement, elle rajoute ?tld=fr a la fin

    Auriez vous une idee d'ou vient le probleme?

    MErci par avance

  2. #2
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Points : 135
    Points
    135
    Par défaut
    Yep, j'ai eu le problème ce matin:

    A priori, le flag de redirection [R] ajoute le QSA par defaut, si il n'y en a pas (QSA: la query_string, c'est à dire, tout ce qu'il y a après le "?")

    Si tu est en apache >= 2.4 tu peux ajouter le flag [QSD],
    Par exemple pour "anciennes questions":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^store/questions/[0-9]{3}/([a-z0-9-]+)/$ /product/$1/questions/ [QSD,L,R=301]
    Si comme moi tu a un apache d'une version antierieur, il faut ajouter une Query_string vide pour que celle ci ne soit pas ajouter par defaut:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^store/questions/[0-9]{3}/([a-z0-9-]+)/$ /product/$1/questions/? [L,R=301]
    (juste le "?" a la fin de ta redirection /product/$1/questions/)
    Le "?" en question ne s'affichera même pas au final, c'est juste pour zapé l'ajout automatique du QSA

    A+

Discussions similaires

  1. [URL rewriting] la redirection ne fonctionne pas
    Par jobo13 dans le forum Apache
    Réponses: 2
    Dernier message: 08/03/2009, 18h51
  2. Réponses: 12
    Dernier message: 26/03/2008, 20h00
  3. redirections ne fonctionne pas
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 22/09/2006, 10h05
  4. [CSV] Redirection ne fonctionne pas
    Par Brizzio dans le forum Langage
    Réponses: 12
    Dernier message: 16/12/2005, 10h55
  5. [DOS] Redirection ne fonctionne pas
    Par Pedro dans le forum Langage
    Réponses: 15
    Dernier message: 13/06/2005, 08h45

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