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] Répétition du dossier dans l'URL


Sujet :

Apache

  1. #1
    Membre actif
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Points : 225
    Points
    225
    Par défaut [URL rewriting] Répétition du dossier dans l'URL
    Bonjour à tous,

    Je me suis aperçu d'un truc très bizarre.
    Lorsqu'on répète le nom d'un dossier dans une URL de l'un de mes sites, la page s'affiche quand même. Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.monsite.com/dossier/page.php
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.monsite.com/dossier/dossier/page.php
    donnent la même chose, et cela à l'infini.

    Je penche donc pour mon fichier htaccess qui gère les règles de réécriture mais je ne vois pas de problème. Voici son contenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine on
    RewriteRule ([a-zA-Z0-9\_]+)-([0-9]+)\.php$ /dossier/page.php?id=$2 [L]
    Merci de vos idées !
    Le mieux n'est pas forcément l'ennemi du bien.

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Points : 217
    Points
    217
    Par défaut
    bonjour , à mon avis c'est car tu ignore un slash sur les liens ,et quand t es dans 'dossier ' donc le répertoire actuel tu l auras 2 fois . essaye de mettre une / dans tes liens exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <a href="/dossier/page.php">

  3. #3
    Membre actif
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Points : 225
    Points
    225
    Par défaut
    Merci mais ce n'est pas un problème de lien.
    Le problème se vérifie sur n'importe quelle URL à laquelle on rajoute le nom du dossier, 1, 5 ou 10 fois de suite.
    Le mieux n'est pas forcément l'ennemi du bien.

  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
    Telle quelle, ta règle signifie "tout URL se terminant par ([a-zA-Z0-9\_]+)-([0-9]+)\.php" (à cause du ...$), d'où le comportement observé. Si tu veux que ce masque soit strict et pas "se terminant par", il faut tout simplement ajouter le marqueur de début de chaîne (^) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^([a-zA-Z0-9\_]+)-([0-9]+)\.php$ /dossier/page.php?id=$2 [L]
    Ca marchera si cette règle est dans le .htaccess du répertoire "dossier". S'il est à la racine du site, ça devient plus compliqué.

    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
    Membre actif
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Points : 225
    Points
    225
    Par défaut
    Merci Mac, pour tout te dire j'avais déjà essayé avec un ^ mais ça plante carrément, j'ai une erreur 404.
    Le .htaccess est bien dans le répertoire visé.
    Le mieux n'est pas forcément l'ennemi du bien.

  6. #6
    Membre actif
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Points : 225
    Points
    225
    Par défaut
    Correction: problème de cache, en effet ça fonctionne avec ^ et ça règle le problème. Merci Mac !
    Le mieux n'est pas forcément l'ennemi du bien.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/08/2010, 07h52
  2. [URL rewriting] Masquer l'ID dans l'URL
    Par shynx dans le forum Apache
    Réponses: 6
    Dernier message: 06/10/2009, 22h12
  3. [URL Rewriting] CSS non appliquée dans l'url réécrite
    Par guigui5931 dans le forum Apache
    Réponses: 2
    Dernier message: 06/12/2007, 15h07
  4. [URL Rewriting] Sans slash final dans l'URL
    Par yanice dans le forum Apache
    Réponses: 2
    Dernier message: 26/10/2007, 19h23
  5. Réponses: 6
    Dernier message: 19/12/2005, 13h41

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