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


Can I use the server path for <img>?

我在一台服务器上有两个域,我想在域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,...">

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

尝试这样做(在服务器A上,如果你在Apache web服务器上,在.htaccess文件中):

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

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

这是不可能的,因为图像标记是由客户端执行的。你可以在B的web服务器目录中添加某种符号链接来指向a的文件

或者使用apache别名选项来定位文件(像cgi-bin那样):

http://httpd.apache.org/docs/current/mod/mod_alias.html别名

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

如果你想隐藏图像所在的域名,那么你必须为它提供一个不同的URL(在不同的域中)

你可以这样做,

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

但是@Tobiask方法比这个要好。

是的,你可以使用相对url路径:

如果你的HTML文档位于

/home/username/public_html/index.html
使用

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

如果它在不同的用户帐户上,并且您的帐户位于http://host.com/~username/index.html,则可以使用

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

您可以使用

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