我正在使用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/
目录,其名称与高分辨率版本相同。
答案 0 :(得分:0)
我假设无论原始文件夹如何,高分辨率图像和低分辨率图像之间的文件名始终相同。
RewriteEngine on
RewriteBase /
RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"
RewriteRule ^(images|products|downloads)/[a-zA-z0-9]+/([a-zA-z0-9]+)(\.jpg|\.png|\.gif)$ images/low-res/$2$3
这至少适用于所提供的示例。如果需要考虑其他子文件夹,则需要相应地调整规则。