[résolut] le .htaccess peut'il rediriger une image?

WRInaute discret
Bonjour,

Si par exemple, sur mon site, j'ai des image avec une durée de vie de 6 mois (Cf: https://www.webrankinfo.com/forum/t/script-avec-image-pour-une-courbe-de-poids.43279/ , oui, je reposte ici, car il me semble que cette section du forum est + adapté, de + dans mon autre post, je commencé a m'eloigner du premier sujet).

Et donc, au bout de 6 mois, je vais effacer cette image car normalement, obsolete et inutile sur mon serveur... mais dans le cas ou quelqu'un l'aurai mis sur un autre site en signature sur un autre forum... et que ce membre ne passe plus sur le forum, etc etc, ça va faire "degoutant" une croix rouge car l'image n'existerra plus.

Exemple : j'ai mon dossier /image/158741.png et justement 158741.png n'existe plus dans le dossier donc, j'affiche à la place: /image/defaut.png

Le .htaccess est'il capable de gerer ça?

merci
 
WRInaute accro
Le .htaccess est capable de rediriger "n'importe quoi", mais dans ton cas, il faudrait plutôt faire de l'URL Rewriting.

Genre /image/jifdj.png, si ça n'existe pas "sur le serveur", affiche qd même une image par défaut.
 
WRInaute discret
Ok ok.. merci. Mais le probleme, c'est que je ne connais pas forcement le nom de l'image a tester... vu que mon script les genere autommatiquement et qu'il va y avoir des centaines d'images, je ne peux pas faire au cas par cas...

donc, il me faudrai si *.png existe pas alors afficher defaut.png... mais je ne sais pas comment faire ce genre de truc, d'où ma question.
 
WRInaute accro
Eu je suis une quiche en URLR mais ça doit être un truc du genre dans un .htaccess dans /image/
RewriteEngine on
RewriteRule ^(.*)\.png$ defaut.png [L]

A tester :eek:
 
WRInaute discret
je vais tester ça .... je pense que meme les images valide et donc qui existe seront redirigé? enfin, je vais chercher et tester ce soir, car j'suis + qu'une quiche moi lol

merci

Edit: Voila, j'ai testé mais rien ne se passe...lol

-http://astuce-web.info/image/reglettes/dada.png n'est pas retirigé vers -http://astuce-web.info/image/reglettes/defaut.png :cry:

Mais ça doit etre un truc dans ce genre la je pense... je vais essayer de refléchir a ça ce soir.
 
WRInaute accro
Il ne faut pas qu'elle soit redirigée justement, il faut que ça affiche l'image defaut mais en gardant le même nom de fichier.
 
WRInaute discret
ok ok, merci.

Avec ton code par contre, meme dans le cas ou l'image existe, il m'affichera quand meme defaut.png et non l'image... je pense que ça ne va pas etre si simple que ça comme probleme... lol
 
Nouveau WRInaute
j'ai une solution, avec du PHP !

tu fait la redirection de PNG vers image.php
dans image.php tu récupère le nom de l'image qui est demandée via $_SERVER['REQUEST_URI'].

if( file_exist( $_SERVER['REQUEST_URI'] ) )
readfile( $_SERVER['REQUEST_URI'] );
else
readfile( 'default.png' );

voilà une solution en 4 lignes ... A vérifier, les chemins relatifs si les images son dans des sous dossier ... mais le principe reste valide (juste qu'il faut splitter sur / par exemple )

A+
NICO
PS : inscrivez-vous sur mon annuaire : www.self-ref.com
 
WRInaute discret
Heu...

excuse moi, mais j'suis un nul nul lol

donc, dans mon .htaccess, je met dans ce cas:

RewriteEngine on
RewriteRule ^(.*)\.png$ image.php [L]

Car, je viens de tester.. mais ça ne fonctionne pas comme ça... et ensuite, est ce que ça fonctionnera aussi , si l'image est appellé a partir d'un autre nom de domaine que le mien?

merci
 
Nouveau WRInaute
je vois pas bien ou tu ve en venir avec ton "autre nom de domaine"

tu as essayé avec le htaccess et le php ?

donne moi un (ou plusieurs exemples) de nom des images (nomdedomaine/chemin/fichier.png
et aussi l'endroit ou est le fichier image.php (nomdedomaine/chemin/fichier)
 
WRInaute discret
Mon image generer est une signature que les gens inserer dans un forum quand il post..., et tres souvent les membre l'utilise dans des autre forum egalement (ça me dérange pas, bien au contraire, car mon nom de domaine est ecrit dans l'image généré).
Il il faut donc aussi que cela fonctionne si mon image est appellé a partir d'un autre serveur...

Oui, j'ai essayé avec le image.php est .htacess, mais ça ne fonctionne pas...

l'image par defaut (bidon pour le moment...): -http://astuce-web.info/image/reglettes/defaut.png et il ne me l'affiche meme plus avec RewriteRule ^(.*)\.png$ image.php [L] .. 404

:-(
 
Nouveau WRInaute
A priori tu est chez 1and1 ...
j'ai eu des soucis pour l'url rewriting chez eux ...
au bout de 36 messages ils m'ont dit ca et après ca marchais :
Code:
Bonjour,

Pourriez vous rajouter dans votre .htaccess la ligne suivante après les 
ErrorDocument.

RemoveType x-mapp-php4 .html

Si ca peu aider ...
sinon, le PB de ton rewriting, c'est qu'il va rediriger TOUS les png vers cette page PHP, donc il faudrai peut-être affiner la solution en ne redirigeant QUE les PNG se trouvant dans un dossier spécifique ... par exemple
 
WRInaute accro
Je me demande si, dans ton répertoire /images/, tu ne pourrais pas mettre un .htaccess avec :
Code:
ErrorDocument 404 /images/defaut.png

Jean-Luc
 
WRInaute discret
ça aurrait été une bonne solution, simple et rapide... mais malheureusement... ça ne fonctionne pas...
Bon, rien ne fonctionne pour le moment... meme pour faire des essais:
RewriteEngine On
RewriteRule ^dada.png$ defaut.png [L]

ne fonctionne pas... je met bien mon htaccess dans le repertoire concerné? et là, quand je tape http:// mon-chemin/dada.png , il devrait m'afficher defaut.png a la place? or là, il m'affiche que le fichier dada.png n'existe pas forcement... pourtant, je n'ai aps de probleme avec mon hebergeur pour l'url rewrinting, car ça fonctionne bien avec mon forum qui utilise l'url rewrinting...

???
 
Nouveau WRInaute
pour commencer tu devrai ne pas utiliser de sous dossier ( genre tout à la racine : le htaccess, les png ... ) et tu appelle htp:// wwwnodedomaine / data.png

Parceque tel que tu as fait ton htaccess, les sous dossiers peuvent influer.

Autre chose, si ton forum fonctionne avec de l'url rewriting, va voir ce qu'il y a dans le htaccess, et copie tout ce qui n'est pas des regles de rewriting.

A+
Si tu as chez toi qque chose comme easyphp ou wamp, tu peu le tester chez toi (c'est plus simple et plus rapide)
 
WRInaute discret
jeanluc a dit:
Je me demande si, dans ton répertoire /images/, tu ne pourrais pas mettre un .htaccess avec :
Code:
ErrorDocument 404 /images/defaut.png

Jean-Luc

C'etait une exelente soulution! cela fonctionne tres bien !

j'ai juste du mettre le "http":

Code:
ErrorDocument 404 http://www.mon-nom-de-domaine.com/repertoire/image_par_defaut.png

Etrange que ça se fonctionne pas sans le http... enfin bon, le principale c'est que ça fonctionne lol Solution tres simple finalement :wink:

Merci à vous.
 
Discussions similaires
Haut