Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

1 view
Skip to first unread message

Olivier Miakinen

unread,
Feb 16, 2013, 11:13:47 AM2/16/13
to
[copie et suivi vers fr.comp.infosystemes.www.auteurs]

Bonjour,

Le 16/02/2013 17:02, franssoa a écrit :
> Bonjour,
> Un peu HS, mais je pose quand même ma question :-)

Je change le titre et j'envoie la question dans le groupe où elle ne
sera pas HS.

> 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

unread,
Feb 16, 2013, 4:26:25 PM2/16/13
to
Je m'autorépond.

> Le 16/02/2013 17:02, franssoa a écrit :
>> 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"

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

Franssoa

unread,
Feb 18, 2013, 5:59:24 AM2/18/13
to
Le 16/02/2013 22:26, Franssoa a écrit :> <?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;
> ?>

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

0 new messages