我可以使用<img/>的服务器路径吗?

时间:2014-06-11 10:54:08

标签: php html

我有两个域位于一台服务器上,我想在域B上使用域A中的图像。

但是,我不希望域B的用户知道图片是从域A中提取的。

所以推杆:

<img src = "http://DOMAIN A/image.jpg"> 

我更喜欢做类似的事情:

<img src = "path/on/server/image.jpg">

...但是我没有工作 - 我肯定有正确的道路:

/home/username/public_html/images/image.jpg 

首先使用该路径对图像执行file_exists。

作为替代方案,我尝试过使用:

<img src="data:image/jpg;base64,...">

但是有很多图像,这种方法非常慢。

6 个答案:

答案 0 :(得分:1)

您可以在服务器上使用重定向,例如通过mod_rewrite。 只需将特殊文件夹从服务器A重定向到服务器B.

尝试类似(如果你在Apache Web服务器上,在服务器A上,在.htaccess文件中):

RewriteEngine on
RewriteRule   ^/img/(.+)  http://server-b.com/img/$1  [R,L]

然后您可以指向HTML中的服务器A,但服务器会在后台将其重定向到服务器B.

或查看Apache documentation of rewriting以获取更多信息。

答案 1 :(得分:0)

没有。 HTTP客户端无法访问运行HTTP服务器的计算机的文件系统。

如果要隐藏托管图片的域,则必须为其提供不同的URL(在不同的域上)。

答案 2 :(得分:0)

由于客户端执行图像标记,因此无法实现。您可以在B的Web服务器目录中添加某种符号链接以指向A。

的文件

或使用apache alias选项查找文件(如cgi-bin所做的那样):

http://httpd.apache.org/docs/current/mod/mod_alias.html#alias

答案 3 :(得分:0)

你可以这样,

http://serverip/~sitefolder/ imagesfolder / images.jpg

但@Tobiask方法比这更好。

答案 4 :(得分:0)

是的,您可以使用相对网址路径:

如果您的html文档位于

/home/username/public_html/index.html

使用

<img src="images/image.jpg" />

如果它位于其他用户帐户,而您的帐户位于http://host.com/~username/index.html则可以使用

<img src="../~otherusername/images/image.jpg" />

答案 5 :(得分:0)

您可以使用

ln -s path / on / server / image.jpg image.jpg

适用于我的默认apache设置。