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 :

[URL Rewriting] Cas problématique où la règle appliquée n'est pas celle désirée


Sujet :

Apache

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 14
    Points : 7
    Points
    7
    Par défaut [URL Rewriting] Cas problématique où la règle appliquée n'est pas celle désirée
    Bonjour,

    J'ai un petit problème dans mon rewriting.

    Voila mon Htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RewriteEngine on
    [...]
    RewriteRule photos-([a-zA-Z0-9_-]+)-photo-(a-zA-Z0-9_-]+).html$ /main.php?page=photos&album=$1&photoID=$2 [L]
    RewriteRule photos-([a-zA-Z0-9_-]+).html$ /main.php?page=photos&album=$1 [L]
    RewriteRule ([a-zA-Z0-9_-]+)\.html$ /main.php?page=$1 [L]
    L'url qui pose problème est du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.site.com/photos-150-24-photo-150-800x612-1.html
    EDIT :
    résultat : j'arrive sur la page main avec comme argument album (deuxième règle du htaccess au lieu de la première).

    D'avance merci.

  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
    Pas tout compris : c'est quoi le pb ? La règle 1 et la règle 2 comportent toutes les 2 un "argument album", alors es-tu vraiment sûr que c'est la 2ème qui est appliquée et pas la première ?

    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
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Je ne récupère pas le deuxième argument photoID. Aussi je pense sérieusement que c'est la deuxième règle qui s'exécute.

  4. #4
    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
    Effectivement, c'est une bonne raison. Est-ce que tu peux être plus précis dans la définition du format des URL dans tes règles ? Comme je le disais, la règle 2 vaut pour les URL valant pour la règle 1, de même pour la règle 3 qui vaut aussi pour les règles 2 et 1. L'idéal serait d'avoir un filtre très précis pour bien faire la différence entre les différents cas. Par exemple, j'imagine que la règle 2 n'est supposée fonctionner que si l'URL ne contient pas le mot-clé photo après le mot-clé photos. Dans ce cas, on peut essayer en ajoutant un -photo- dans la première règle puis un RewriteCond avant la seconde sur la non vérification de ce -photo-, etc.

    Sans parler du fait que je ne sais jamais s'il faut mettre \- pour indiquer le caractère - plutôt que -...

    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

  5. #5
    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
    Bon, j'ai un peu de temps alors j'ai testé tes règles et le résultat est assez simple : c'est ta première règle qui n'est pas bonne, elle ne matche pas l'URL : il manque tout simplement le [ sur la dernière entité !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule photos-([a-zA-Z0-9_-]+)-photo-([a-zA-Z0-9_-]+).html$ /main.php?page=photos&album=$1&photoID=$2 [L]

    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

  6. #6
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Merci pour la réponse.
    Faut dire aussi que je l'ai tellement trituré cette règle aussi.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/03/2010, 16h57
  2. [URL Rewriting] Besoin d'aide pour règle un peu longue
    Par yvon_huynh dans le forum Apache
    Réponses: 5
    Dernier message: 23/06/2008, 12h12
  3. [URL Rewriting] Introduire une exception à une règle
    Par alemat13 dans le forum Apache
    Réponses: 3
    Dernier message: 10/03/2008, 16h29
  4. Réponses: 1
    Dernier message: 06/12/2007, 17h13
  5. [URL Rewriting] ordre d'exécution des règles
    Par safisafi dans le forum Apache
    Réponses: 1
    Dernier message: 21/11/2006, 18h52

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