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 :

[URLRewriting] Pb de rewrite image vers script


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Homme Profil pro
    Responsable SI
    Inscrit en
    Mars 2004
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Responsable SI

    Informations forums :
    Inscription : Mars 2004
    Messages : 187
    Par défaut [URLRewriting] Pb de rewrite image vers script
    Bonjour

    Je rencontre un problème que je n'arrive pas à solutionner, et qui je pense tient à l'organisation "spéciale" de mes sites...

    Je gère donc divers sites comportant des galeries photos, sites qui sont tous hébergés sur le même serveur (en mutualisé).

    Mes images sont donc disposées dans UN répertoire de l'arborescence globale, et mes domaines pointent à divers degrés de l'arborescence (je sais, pas glop mais bon, historiquement j'avais fait ainsi, je ne peux plus faire marche arrière !)


    Donc, j'ai :

    www.mondomaine.com qui pointe sur /www/
    photos.mondomaine.com qui pointe sur /www/photos/

    et mes photos sont stockées dans /www/photos/photos/ (affichées selon cas sur www.mondomaine.com et/ou sur photos.mondomaine.com !)


    Jusque là tout va bien. Seulement voilà : suite à du hotlinking sauvage et de plus en plus important, j'ai décidé de mettre en place un système de script pour "watermarquer" les photos hotlinkées qui ne seraient pas sur une liste de serveurs donnée. Le script Php (qui fonctionne ailleurs) appose un texte dynamiquement sur l'image et stocke dans un cache l'image générée si elle n'existe pas (évite de surcharger le serveur).

    En tout logique, j'ai donc placé dans le répertoire /www/photos/photos/ les choses suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    /cache_img/  (répertoire de cache des images watermarquées)
    /share/ (répertoire contenant la police de caractères)
    hotlink.php (le fameux script php)
    .htaccess
    image1.jpg
    image2.jpg
    ...
    Je passe sur le script, qui fonctionne parfaitement quand je l'appelle en direct (je l'ai pêché ici : à tout seigneur, tout honneur )

    Voici mon htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Options +FollowSymlinks
    RewriteEngine on 
     
    # Gestion des hotlinks d'images - les domaines sont les miens et son susceptibles d'afficher les images à protéger
    RewriteCond %{HTTP_REFERER} !^$ [NC]
    !^http://(www.|photos.)?mondomaine.com [NC]
    (ici la liste des autres domaines, sur le même principe, autorisés à hotlinker mes images sans watermark)
    RewriteRule .*\.jpg$ hotlink.php?img=%{SCRIPT_FILENAME}&ref=%{HTTP_REFERER}
    Et bien ça ne marche pas, et je ne comprends vraiment pas pourquoi !

    J'ai même essayé de remplacer la dernière ligne par un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule .*\.jpg$ image1.jpg
    Qui "devrait" remplacer n'importe quelle image par image1.jpg ! Et bien non, ça ne fonctionne QUE pour image1.jpg !!!

    J'ai aussi essayé de placer le script et le htaccess directement dans les deux répertoires correspondant à mes sous-domaines respectifs, mais ça ne fonctionne pas mieux (tout en faisant attention aux paths) sauf évidemment si j'appelle le script en direct. C'est donc à priori bien un soucis de rewriting !

    Si quelqu'un a une idée... 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
    Par défaut
    Citation Envoyé par cedric_g
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    # Gestion des hotlinks d'images - les domaines sont les miens et son susceptibles d'afficher les images à protéger
    RewriteCond %{HTTP_REFERER} !^$ [NC]
    !^http://(www.|photos.)?mondomaine.com [NC]
    (ici la liste des autres domaines, sur le même principe, autorisés à hotlinker mes images sans watermark)
    RewriteRule .*\.jpg$ hotlink.php?img=%{SCRIPT_FILENAME}&ref=%{HTTP_REFERER}
    C'est volontaire qu'il n'y ait pas de RewriteCond devant "!^http://(www.|photos.)?mondomaine.com [NC]" ou c'est un oubli/une erreur de copier-coller ?

    Mets également un / devant hotlink.php dans ta RewriteRule.

  3. #3
    Membre confirmé

    Homme Profil pro
    Responsable SI
    Inscrit en
    Mars 2004
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Responsable SI

    Informations forums :
    Inscription : Mars 2004
    Messages : 187
    Par défaut
    Ah oui, erreur de copier/coller

    Le slash devant hotlink.php ne change malheureusement rien...

  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
    Par défaut
    T'as une trace dans le log d'erreur d'Apache ?

    Sinon, faut y aller progressivement : commence sans RewriteCond en appelant directement une image dans ton navigateur, puis essaie avec le premier RewriteCond, etc.

  5. #5
    Membre confirmé

    Homme Profil pro
    Responsable SI
    Inscrit en
    Mars 2004
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Responsable SI

    Informations forums :
    Inscription : Mars 2004
    Messages : 187
    Par défaut
    BON !

    J'ai trouvé la cause mais je n'ai pas trouvé la soluce

    En analysant mes logs Apache, erreur 404 (et je pense que ça vient de l'endroit où il va "chercher" mon script !) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GET /home/users/c/cedricg/www/photos/photos/hotlink.php?img=/home/users/c/cedricg/www/photos/photos/3373.jpg&ref=http://www.(domanie otlinkeur) HTTP/1.1" 404 9344 "http://www.(domaine hotlinkeur)
    Donc en clair, le path depuis la racine du serveur !

    Par rapport aux autres lignes du log, je devrais plutôt avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GET /hotlink.php?img=/3373.jpg&ref=http://www.(domanie otlinkeur) HTTP/1.1" 404 9344 "http://www.(domaine hotlinkeur)
    ou quelque chose comme ça !


    Alors que toutes les autres lignes du log vont bien chercher les fichiers à leur niveau propre !

  6. #6
    Membre confirmé

    Homme Profil pro
    Responsable SI
    Inscrit en
    Mars 2004
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Responsable SI

    Informations forums :
    Inscription : Mars 2004
    Messages : 187
    Par défaut
    RÉSOLU !!!


    En fait j'ai (méthode bourrin) mis le chemin http complet dans mon htaccess, "tout simplement" !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule \.(jpg)$ http://www.mondomaine.com/sousrep/hotlink.php?img=%{SCRIPT_FILENAME}&ref=%{HTTP_REFERER}
    Purée, c'était si simple

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

Discussions similaires

  1. [URLRewriting] Pb pour rewrite tout vers index.php
    Par tigunn dans le forum Apache
    Réponses: 1
    Dernier message: 26/04/2007, 11h35
  2. copier une partie d'une image vers une autre
    Par gregcat dans le forum Langage
    Réponses: 1
    Dernier message: 14/04/2006, 13h39
  3. [Debutant] [JSP/Servlet] Upload d'image vers le serveur
    Par ShinJava dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 05/07/2005, 17h42
  4. Découpage d'une grande image vers des textures
    Par djar dans le forum OpenGL
    Réponses: 14
    Dernier message: 26/02/2005, 18h46

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