这 里补充一下,httpd.ini和httpd.conf有什么区别不清楚,可能是操作系统平台不同而使用不同的文件吧,也懒得追究了,编辑保存httpd配置文件是即时生效的。还有,写法正确,并不 代表一定达到你想要的效果,所以在借用网络资料的同时,要注意修改后的语法、语义都要正确。另外,关于正则表达式的知识可以参考一下微软的资料:正则表达式语法。
用ISAPI_Rewrite 3做图片防盗链虽然直接可行,但也许有一些缺点,比如是否会影响订阅内容,如何更细化的筛选出哪些内容不需要做防盗链。还有,是否可以一个站点单独使用一个httpd.conf配置文件(据传可以)。
最后,以一个已经在IIS下正常运行的图片防盗链例子来简单说明一下httpd.conf中代码表示的意思(注意,在互联网环境下,你看到的效果可能会有些延迟,可多刷新几次):
RewriteEngine On RewriteCompatibility2 On RepeatLimit 200 RewriteBase RewriteCond %{HTTP:Host} ^(.+)$ RewriteCond %{HTTP:Referer} ^(?!(.*)(?:10\.1\.3\.86|baidu\.com|.*\.baidu\.com)).*$ RewriteRule ^(?!(.*logo\.png)).*\.(?:jpg|jpeg|gif|png|bmp)$ /block.gif [NC,N,O]
代码第5行:表示对访问本站的所有http请求进行识别。
代码第6行:表示允许这些网站使用本站的图片链接。10\.1\.3\.86 在这里表示本站,你可以换成你的域名,如 abc\.com;|baidu\.com|.*\.baidu\.com 表示允许百度和百度子站使用本站的图片,| 表示或者。
代码第7行:.*logo\.png 表示本站的logo图片允许所有站点使用,比如交换友链时;jpg|jpeg|gif|png|bmp 表示对这些格式的图片启用防盗链;/block.gif 表示用站点根目录下的block.gif图片来替换被盗链的图片,起警示作用,当然文件要小,也可以用一个html文件;[NC,N,O]是可选项,httpd.ini中的写法是[I,O,N],具体什么意思可参见ISAPI_Rewrite 3的帮助文档或网络资料。
转载请注明出处:光影线 » 利用ISAPI_Rewrite为IIS主机增加文件防盗链功能