【问题标题】:Can I use the server path for <img>?我可以为 <img> 使用服务器路径吗?
【发布时间】:2014-08-01 09:41:45
【问题描述】:

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

但是图像很多,这种方法超级慢。

【问题讨论】:

  • 相对路径(第二次尝试)应该可以工作,你只需要正确的路径
  • 我绝对有正确的路径:/home/username/public_html/images/image.flv 因为首先在图像上执行 file_exists,但它不会显示图像。
  • 您不能在客户端执行此操作...请参阅下面的答案!

标签: php html


【解决方案1】:

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

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

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

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

或查看Apache documentation of rewriting 了解更多信息。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        【解决方案4】:

        你可以这样,

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

        但@Tobiask 方法比这更好。

        【讨论】:

          【解决方案5】:

          是的,您可以使用相对 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" />
          

          【讨论】:

          • 我认为这不适用于大多数安全到不允许访问其他用户文件夹的服务器。
          • 这依赖于在“~username”处公开的公共 html 文件夹。看起来好像就是这样。但是它可能仍然不是一个正确的解决方案..
          【解决方案6】:

          你可以使用

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

          适用于我的默认 apache 设置。

          【讨论】:

            猜你喜欢
            • 2012-09-29
            • 1970-01-01
            • 1970-01-01
            • 2014-10-24
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多