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 et repertoire virtuel


Sujet :

Apache

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut URL rewriting et repertoire virtuel
    Salut à tous,

    Mes images ne s'affichent plus suite à la ré-écriture de mon URL.

    Je crois comprendre que le problème est du aux répertoires virtuels créés par la ré-écriture (les slash) mais je ne trouve pas la solution pour enfin afficher mes images.

    Voici le contenu de mon fichier .htaccess :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteEngine on
    
    RewriteRule ^galleries/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)$ galleries.php?marque=$1&guitariste=$2 [L]
    et voici un exemple de ré-écriture sur mon site (local sur wamp) :

    J'affiche
    http://localhost/monsite/galleries/fender/hendrix-110408-16
    à la place de
    http://localhost/monsite/galleries?marque=fender&guitariste=hendrix-110408-16

    Tout va bien pour l'URL mais plus moyen d'afficher les photos de cette galerie !

    Le répertoire des images est le suivant :
    galleries/fender/hendrix-110408

    Comment faire ? Merci pour votre aide

    ps : je me demande si une solution pourrait venir de cet exemple. Mais, debutant complet avec les REGEX, je cale...

  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
    A priori, ça ne devrait pas poser de problème : ton expression régulière ne matche pas d'URL portant une extension (.gif par exemple).

    Citation Envoyé par morgbl Voir le message
    Le répertoire des images est le suivant :
    galleries/fender/hendrix-110408
    Tu peux donner un exemple complet d'URL réel (i.e. une URL qui marche) d'une image ? Si tu essaies d'afficher cette URL dans ton navigateur, il se passe quoi ? Quel message d'erreur ? Quelle est le code HTML de cette image (<img ...>) dans ce qui est renvoyé par http://localhost/monsite/galleries/f...drix-110408-16 ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Voici le code html affiché pour une image avec l'URL non ré-écrite :

    http://localhost/monsite/galleries.php?marque=fender&guitariste=hendrix-110408-16

    me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="galleries/fender/hendrix-110408/hendrix-110408_1.jpg" />
    Voici maintenant le code html affiché pour une image avec l'URL ré-écrite :

    http://localhost/monsite/galleries/fender/hendrix-110408-16

    me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="galleries/fender/hendrix-110408/hendrix-110408_1.jpg" />
    ...soit le même code source dans les deux cas, à la différence près que dans le second cas, plus aucune image affichée. Pas de message d'erreur non plus. Et au passage, même problème pour les feuilles de style...

  4. #4
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    J'ai identifié le problème en parlant de "répertoires virtuels".

    La ré-écriture de mon URL impacte en effet l’arborescence apparente de mes pages, et ce à cause de ma règle, qui insère notamment un slash entre ma page (galleries.php) et la 1ère variable (marque), ainsi qu'entre cette 1ère variable et la seconde (guitariste).

    En reprenant l'exemple "fender/hendrix", le navigateur « estime » que ma page se trouve dans un répertoire /fender/hendrix-110408, ce qui ne correspond pas à la réalité. Toute tentative de résolution de liens relatifs est donc faite à partir de ce répertoire et vouée à l’échec.

    J'ai donc essayé d'utiliser des liens absolus mais pas plus de succès...

    J'ai cerné mon problème en lisant un article sur la question qui évoque le problème mais ne m'apporte pas une solution claire...

  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
    En fait, pour le navigateur, l'URL de l'image affichée sur la page http://localhost/monsite/galleries/fender/hendrix-110408-16 est http://localhost/monsite/galleries/fender/galleries/fender/hendrix-110408/hendrix-110408_1.jpg. Pour t'en sortir, tu peux mettre des URL absolues, mais il ne faut pas oublie le /monsite devant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="/monsite/galleries/fender/hendrix-110408/hendrix-110408_1.jpg" />

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Pourquoi n'ai-je pas essayé ça avant...la solution était si simple...

    Un grand merci à toi Mac !

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

Discussions similaires

  1. url rewriting et repertoires virtuels
    Par jlweb dans le forum Langage
    Réponses: 4
    Dernier message: 25/10/2012, 15h37
  2. Url rewriting (avec repertoire virtuel)
    Par Invité dans le forum Apache
    Réponses: 1
    Dernier message: 15/06/2009, 13h18
  3. Réponses: 2
    Dernier message: 16/04/2008, 15h27
  4. [URL Rewriting] Sous-domaines virtuels ?
    Par Ikonic dans le forum Apache
    Réponses: 2
    Dernier message: 10/04/2008, 11h42
  5. [URL Rewriting] de repertoire
    Par gcvoiron dans le forum Apache
    Réponses: 2
    Dernier message: 28/10/2007, 20h23

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