[HS] apache : cacher l'adresse d'un fichier distant
Le
franssoa

Bonjour,
Un peu HS, mais je pose quand même ma question :-)
J'ai un serveur hébergé sur le web, disons www.monserveur.com
J'ai un serveur perso hébergé à la maison, accessible par
alamaison.dyndns.org:8080
Sur www.monserveur.com, je veux afficher une image provenant de
alamaison.dyndns.org sans que l'on puisse voir qu'elle vienne de là.
Si dans le .htaccess de www.monserveur.com je met :
RewriteEngine on
RewriteRule ^image.jpg$ alamaison.dyndns.org:8080/imagesource.jpg [L]
Quand je tape http://www.monserveur.com/image.jpg dans mon navigateur,
apache va tout naturellement charger imagesource.jpg du serveur perso,
mais la barre d'adresse va aussi changer en
http://alamaison.dyndns.org:8080/imagesource.jpg
Hors j'aimerais que cela reste affiché "http://www.monserveur.com/image.jpg"
Il y a-t-il une solution avec les règles de htaccess, ou dois-je faire
un petit script php qui charge l'image et la renvoie ?
franssoa
Un peu HS, mais je pose quand même ma question :-)
J'ai un serveur hébergé sur le web, disons www.monserveur.com
J'ai un serveur perso hébergé à la maison, accessible par
alamaison.dyndns.org:8080
Sur www.monserveur.com, je veux afficher une image provenant de
alamaison.dyndns.org sans que l'on puisse voir qu'elle vienne de là.
Si dans le .htaccess de www.monserveur.com je met :
RewriteEngine on
RewriteRule ^image.jpg$ alamaison.dyndns.org:8080/imagesource.jpg [L]
Quand je tape http://www.monserveur.com/image.jpg dans mon navigateur,
apache va tout naturellement charger imagesource.jpg du serveur perso,
mais la barre d'adresse va aussi changer en
http://alamaison.dyndns.org:8080/imagesource.jpg
Hors j'aimerais que cela reste affiché "http://www.monserveur.com/image.jpg"
Il y a-t-il une solution avec les règles de htaccess, ou dois-je faire
un petit script php qui charge l'image et la renvoie ?
franssoa
J'ai finalement utilisé un peu des deux :
.htaccess :
========== RewriteEngine on
RewriteRule ^image.jpg$ image.php [L]
image.php :
========== <?php
$i = "http://alamaison.dyndns.org:8080/imagesource.jpg";
$fp = fopen($i, 'rb');
header("Content-Type: Content-Type: image/jpeg");
header("Content-Length: " . filesize($i));
fpassthru($fp);
exit;
?>
franssoa
Visiblement pas de taille récupérée avec un fichier distant, donc ne pas
mettre le content-length dans le header, ça ne passe pas avec tout les
navigateurs. Ou alors copier le fichier en local...
franssoa