Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/11/2010, 13h06   #1
Invité de passage
 
Inscription : novembre 2010
Messages : 2
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 2
Points : 0
Points : 0
Par défaut [.htaccess] Redirection d'image et boucle infinie

Bonjour, voici mon problème.

Je suis illustrateur et j'ai un portfolio en ligne visible à cette adresse http://portfolio.wopah.com

Les illustrations sont stockées ici : http://book.wopah.com/z/albums/main/

Ce que j'aimerais, c'est que lorsqu'on entre l'url directe d'une image dans le navigateur (par exemple http://book.wopah.com/z/albums/main/heman.jpg), cela renvoie (de façon transparente), vers un script qui affiche ladite image avec une mise en page particulière, avec un lien vers le portfolio etc.

J'ai donc fait le script en question et créé le htaccess suivant :

Code :
1
2
RewriteEngine on 
RewriteRule   ^(.+)(.jpg|.jpeg)$   ?i=$0 [L]
La redirection s'effectue comme prévue, le problème est que le script cherche à afficher l'image (via une balise <img>), ce qui fait une nouvelle fois appelle à la redirection et crée une boucle de redirection et en définitive, rien ne s'affiche. De plus, cela pose problème dans mon portfolio qui fait appel aux images de ce dossier et se trouve confronté au même problème.

Quelqu'un a-t-il une solution ?
a___k est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2010, 14h28   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 253
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 253
Points : 8 533
Points : 8 533
Ce n'est pas forcément très beau mais tu peux ajouter un paramètre d'URL dans le src de ton <img> et que tu testes dans une RewriteCond pour savoir si tu dois réécrire ou non vers ton script. Par exemple : <img src="image.jpg?toto">
Code :
1
2
3
RewriteEngine on
RewriteCond %{QUERY_STRING} !toto
RewriteRule   ^(.+)(.jpg|.jpeg)$   ?i=$0 [L]
Autre solution : utiliser un src qui n'est pas le vrai nom de l'image mais un nom préfixer par exemple et tu utilises la réécriture d'URL pour retirer le préfixe et reconstruire le nom original du fichier (et en prenant soin quand même d'ajouter un paramètre d'URL pipo qui sert juste à ne pas retomber sur la règle de réécriture qui existe déjà). Par exemple <img src="final_image.jpg">
Code :
1
2
3
4
5
RewriteEngine on
RewriteRule final_(.*)\.(jpg|jpeg)$ $1.$2?toto [L]

RewriteCond %{QUERY_STRING} !toto
RewriteRule   ^(.+)(.jpg|.jpeg)$   ?i=$0 [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
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2010, 15h27   #3
Invité de passage
 
Inscription : novembre 2010
Messages : 2
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 2
Points : 0
Points : 0
Merci beaucoup Mac pour ta réponse (et très bel avatar).

C'est vrai que ta solution fonctionnerait, mais j'aimerais un truc le plus "naturel" possible (sans avoir à ajouter de paramètres, changer les url etc). Ceci dit, plus ça va plus je me dis que c'est infaisable
a___k est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2010, 15h48   #4
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 253
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 253
Points : 8 533
Points : 8 533
Tu as une troisième solution qui te conviendrait dans l'absolu : c'est vérifier le Referer : si, en accédant à ton URL .jpg, tu as un referer qui est cette même URL, cela veut dire qu'on demande à afficher l'image depuis ton script et que donc on ne doit pas réécrire. C'est bien joli mais il y a un problème pratiquement incontournable : certains navigateurs n'envoient pas de referer pour des raisons de confidentialité, et du coup, pour ces utilisateurs, ben ils ne pourront pas voir l'image.
__________________

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
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h13.


 
 
 
 
Partenaires

Hébergement Web