使用.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错误,因为图像不再存在。