使用低分辨率版本重定向热链接图像

时间:2012-12-31 09:43:11

标签: .htaccess mod-rewrite redirect hotlinking

我正在使用Digital Gadgets Manufacturer的网站。 产品图片来自数百个博客和热门链接。论坛。这导致带宽问题。

我们希望使用低分辨率版本替换所有热链接图像 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/

目录,其名称与高分辨率版本相同。

1 个答案:

答案 0 :(得分: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]

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