0

我在一家数字小工具制造商的网站上工作。产品图片来自数百个博客和论坛的热链接。这导致了带宽问题。

我们想用低分辨率版本替换所有热链接图像,使用 .htaccess

表示如果热链接的图像路径是

http://www.example.com/products/gadget123/gadget123.png

我们想将它重定向到

http://www.example.com/images/low-res/gadget123.png

热链接图像路径不同,这意味着它们可能来自任何目录的子目录。

例如

/images/products/abc/gadget_abc200.jpg
/products/images/abc/gadgetabc5155_packing.png
/downloads/brochures/abc2012/abc2012_user_guide.jpg

etc...

但所有低分辨率图像都将在

http://www.example.com/images/low-res/

目录,并且它们的名称将与其高分辨率版本相同。

4

1 回答 1

2

尝试添加这个:

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^(.*?)example\.com(/.*)?$ [NC]
RewriteRule   ^images/products/.+/(.+).png$ images/low-res/$1.png  [L]

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^(.*?)example\.com(/.*)?$ [NC]
RewriteRule   ^images/products/.+/(.+).png$ images/low-res/$1.png  [L]

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^(.*?)example\.com(/.*)?$ [NC]
RewriteRule   ^downloads/brochures/.+/(.+).jpg$ images/low-res/$1.jpg  [L]

此规则查找请求是来自您的站点还是直接来自第三方。然后重写请求。

于 2012-12-31T11:25:46.347 回答