使用.htaccess和php从其他域加载图像

使用.htaccess和php从其他域加载图像,php,html,.htaccess,Php,Html,.htaccess,我有一个产品描述页面,显示小产品图片,并链接到大图片 <a href="https://www.primarydomain.com/images/BIGimage.jpg" target="_blank"> <img src="https://www.primarydomain.com/images/SMALLimage.jpg"></a> 由于我的web空间即将饱和,我必须将整个图像文件夹移动到另一个域,并尝试从我的主域加载它们 有什么技巧可以透明地从

我有一个产品描述页面,显示小产品图片,并链接到大图片

<a href="https://www.primarydomain.com/images/BIGimage.jpg" target="_blank">
<img src="https://www.primarydomain.com/images/SMALLimage.jpg"></a>

由于我的web空间即将饱和,我必须将整个图像文件夹移动到另一个域,并尝试从我的主域加载它们

有什么技巧可以透明地从其他域加载图像吗

我想使用.htaccess文件将所有链接(如“.jpg”)重定向到一个从其他域(比如“.jpg”)加载图像的.Php页面,并将其显示在div或其他内容中

使用这种方法会对小图像链接产生什么影响? 解决这个问题的最佳做法是什么

小图像:

当前链接:

-->新链接:

大形象:

当前URL:

-->新网址:

要从新链接加载的图像:

编辑:
由于整个图像文件夹已被移动,因此必须将指向图像的简单直接链接重定向到PHP页面,因为图像在当前域中不再存在。也许这可以通过使用.htaccess重写或重定向来实现。

一个选项是在页面加载时使用jQuery或javascript替换所有链接

范例

    <img src="w3javascript.gif" onload="loadImage()" width="100" height="132">

    <script>
    function loadImage() {
      alert("Image has loaded");
      // ... change <a href=""> links here ...
    }
    </script>


函数loadImage(){
警报(“图像已加载”);
//…改变

    • 这是我自己问题的解决方案:

      RewriteCond %{REQUEST_URI} /images/.*\.(png|gif|jpe?g|bmp)$  [NC]
      RewriteCond %{HTTP_REFERER} ^$
      RewriteRule (.*)  https://www.newdomain.cloud%{REQUEST_URI} [L,R=301]
      
      这不是解决问题的完美办法,但现在已经足够了


      感谢您的支持。

      “使用这种方法会对小图像链接产生什么影响?”-这取决于-您是否可以通过某种模式来区分它们和大图像链接,这种模式可以在URL重写中匹配。“解决此问题的最佳做法是什么?”-只需相应地修改HTML输出中的图像URL,使其首先指向实际位置。其他一切只会增加开销。此解决方案不支持直接链接访问。如果客户尝试使用旧链接查看图像,他将收到404错误,因为图像不再存在。