这样一来,可以防止其它网站盗用你的图片,浪费你宝贵的流量。
先来说说如何设置。
比如你的图片都在images目录下,那就在该目录下创建一个名为.htaccess的文件,编辑内容如下:
RewriteEngine On RewriteCond %{HTTP_REFERER} !ipmay.com [NC] RewriteCond %{HTTP_REFERER} !bing.com [NC] RewriteCond %{HTTP_REFERER} !google.com [NC] RewriteCond %{HTTP_REFERER} !baidu.com [NC] RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /public/replace.gif [R,NC,L] RewriteRule ^(.*)$ http://image.ipmay.com/images/$1 [L]可以看出,是利用Apache的.htaccess设置来通过判断HTTP_REFERER来实现。
大概解释下:
1. 如果不是这几个域名(ipmay.com,cn.bing.com,google.com,baidu.com)请求图片的网页,也就是盗链网站,则转向/public/replace.gif这个图片。
2. 如果是以上域名的话,则转向外部专用图片服务器image.ipmay.com相应的目录中。
当然了你得先把原服务器images目录下的文件统统拷贝到临时服务器的images目录下,转向才会真正可用。起到的效果就是把原服务器图片下载所占用的流量统统省下,让临时服务器来承受了.
如果直接输入的网页也要屏蔽的话,是没有HTTP_REFERER信息的,可以用以下规则来实现。
RewriteCond %{HTTP_REFERER} ^$ [NC] RewriteRule ^images/(.*).(jpg|gif|png|bmp|swf|jpeg) /public/replace.gif [L]若想屏蔽直接访问的请求,将以上两行代码加于“RewriteEngine On”一行后面。反之,只需要加以上两行代码中的第一行即可。