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 :

Le 3e paramètre de mon url_rewriting ne passe pas


Sujet :

Apache

  1. #1
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Points : 410
    Points
    410
    Par défaut Le 3e paramètre de mon url_rewriting ne passe pas
    Bonjour,

    je travaille en local et j'ai des url de type :

    fr/etablissement/Nom-etablissement/456

    que je décris par cette règle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^([a-z]{2})/etablissement/((([A-Za-z]*)(-)?)+)/(([1-9]{1,5}))$ etablissement/control.php?lang=$1&nom=$2&id=$3&type=lycee [L]
    Eh bien le 3e paramètre (id) reste tout le temps vide (celui avec les chiffres) !

    Et si j'enlève le paramètre nom, que j'en mets deux, il passe !

    Comme si c'était limité en nombre de paramètres ce dont je doute.

    Je ne comprends pas. Pourtant on peut passer autant de paramètres que l'on veut non?

    Merci de m'avoir lu

  2. #2
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Points : 410
    Points
    410
    Par défaut
    En passant $6 au lieu de $3 ça fonctionne.. et $4="" et $5 il met "-"

    c'est une question de délimitation des expressions régulières, mais pourtant que le nom d'établissement soit ezaeza-iuhu-knl ou autre, ça rentre dans la variable $2 sans problème. Alors pourquoi un tiret dans $5 ??

  3. #3
    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
    Il y a trop de parenthèses imbriquées. Je ne sais pas trop comment Apache les gère. Essaie de simplifier ton expression si c'est possible. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^([a-z]{2})/etablissement/([A-Za-z-]+)/(([1-9]{1,5}))$ etablissement/control.php?lang=$1&nom=$2&id=$3&type=lycee [L]

  4. #4
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Points : 410
    Points
    410
    Par défaut
    En effet, désormais j'ai la variable $3 et plus $6. Mais ça permet qu'il y ait deux tirets d'affilé par exemple, c'est pas trop grave en soit.

    Merci

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

Discussions similaires

  1. mon flash ne passe pas avec W3C
    Par jlb59 dans le forum Flash
    Réponses: 2
    Dernier message: 09/11/2008, 23h44
  2. mon calendrier ne passe pas 2039
    Par acryline dans le forum GTK+ avec C & C++
    Réponses: 7
    Dernier message: 07/08/2007, 15h54
  3. [Tableaux] PB mon IF ne passe pas pourquoi ?
    Par foxdream94 dans le forum Langage
    Réponses: 10
    Dernier message: 06/06/2007, 13h00
  4. Réponses: 2
    Dernier message: 31/07/2006, 09h48
  5. [RegEx] mon motif de regex ne passe pas
    Par hansaplast dans le forum Langage
    Réponses: 31
    Dernier message: 19/10/2005, 12h20

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