Url rewriting et ordre des paramètres GET transmis

Discussion dans 'URL Rewriting et .htaccess' créé par prog-x, 6 Janvier 2007.

  1. prog-x
    prog-x WRInaute discret
    Inscrit:
    6 Janvier 2007
    Messages:
    75
    J'aime reçus:
    0
    Bonjour,

    J'essaye de mettre en place la solution décrite dans ce tutoriel pour une utilisation multilingue d'un site mais je bute sur un problème très précis et, peut-être, tout simple à résoudre. J'ai simplifé le .htaccess pour isoler le problème (j'ai pris pratiquement le même que dans le tuto) :

    Code:
    RewriteRule ^(.*)-l([0-9]*)(.*)\.html$  $1$3.php?ln=$2 [QSA]
    RewriteRule ^(.*)-L([0-9]*)\.php$  $1.php?ln=$2 [L,QSA]
    
    Le problème est que lorsque je veux passer une url du type http://test.ch/test/page23-l1-L2.html la variable $_GET['ln'] est égale à 1 au lieu d'être égale à 2.

    En fait ma réecriture d'URL me renvoies page23.php?ln=2&ln=1 au lieu de page23.php?ln=1&ln=2 étant donné que le paramètre déterminant est le 2ème, d'après mes observations.

    Donc la question : est-ce que l'ordre des paramètres identiques joue un rôle, est-ce que la règle de réecriture devrait être écrite différement ou est-ce un paramètres du serveur à modifier?
    (je précise encore que mon hébergeur est infomaniak).

    Merci d'avance pour votre/vos réponse(s).
     
  2. correiaj
    correiaj WRInaute impliqué
    Inscrit:
    25 Avril 2005
    Messages:
    988
    J'aime reçus:
    0
    Donc ça fait ça:
    http://test.ch/test/page23-l1-L2.html ->
    http://test.ch/test/page23-L2.php?ln=1 ->
    http://test.ch/test/page23.php?ln=2&ln=1
    Pourquoi??
    Parce que le moteur de réécriture inérprête les instruction dans l´ordre:
    1/ il réécrit et donne http://test.ch/test/page23.php?ln=2
    2/ il rajoute la Query String (QSA) et donne http://test.ch/test/page23.php?ln=2&ln=1

    Soit tu enlève QSA, soit tu change le nom de ta deuxième variable GET...
     
  3. prog-x
    prog-x WRInaute discret
    Inscrit:
    6 Janvier 2007
    Messages:
    75
    J'aime reçus:
    0
    Merci correiaj pour ta réponse.

    Effectivemment les 2 solutions seraient enviseageables mais j'ai ommis de préciser dans mon ennoncé du problème que la plupart des mes liens sont du style :

    http://test.ch/test/page23-l1.html

    Donc si je change mon paramètre ln il ne fonctionnera plus avec un lien qui ne contient pas le changement de langue (Lx). Tout comme d'ailleurs si je supprime la Query String (QSA) le paramètre l1 ne deviendra jamais ?ln=1.

    pour résumer :
    http://test.ch/test/page23-l1.html devrait donner un $_GET['ln'] égal à 1
    et
    http://test.ch/test/page23-l1-L2.html devrait donner un $_GET['ln'] égal à 2


    Donc est-ce que l'exemple est mal exprimé dans le tutorial ou ai-je fait une grossière erreur? D'après ce que dit correiaj, qui me semble très logique, l'exemple donné ne pourra jamais fonctionner correctement. Qu'en est-il?
     
  4. prog-x
    prog-x WRInaute discret
    Inscrit:
    6 Janvier 2007
    Messages:
    75
    J'aime reçus:
    0
    Si je reprends le tutoriel il donne ceci comme exemple :

    Par exemple, le fichier page23-l1-L2.html sera réécrit une première fois page23-L2.php?language=1 (1ère règle) puis page23.php?language=1&language=2 (2ème règle).

    Ce qui est faux puisque j'obtiens en réalité page23.php?language=2&language=1 ce que correiaj a parfaitement démontré.

    Alors la question : qu'est-ce que je fais de faux pour ne pas obtenir le même résultat que le tutoriel?
     
Chargement...
Similar Threads - rewriting ordre paramètres Forum Date
Pattern PRG, ordre des get, url rewriting - htaccess Développement d'un site Web ou d'une appli mobile 14 Février 2013
supprimer /index.html sans url rewriting, possible ? URL Rewriting et .htaccess 13 Novembre 2019
Je bloque sur le rewriting des URL contenant un ? URL Rewriting et .htaccess 3 Septembre 2019
récupération du get après rewriting URL Rewriting et .htaccess 21 Juin 2019
Ralentissement url rewriting URL Rewriting et .htaccess 1 Mai 2019
URL Rewriting Débuter en référencement 17 Avril 2019
Conflit de redirection 301 et Urlrewriting Netlinking, backlinks, liens et redirections 20 Février 2019
URL REWRITING et redirection 301 URL Rewriting et .htaccess 24 Janvier 2019
URL Rewriting : difficultés avec RewriteCond ? URL Rewriting et .htaccess 5 Décembre 2018
Résolu URL Rewriting : Garder l'adresse non transformée dans le navigateur URL Rewriting et .htaccess 2 Décembre 2018
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice