Apache下的.htaccess防盗链重写

2010-04-01  札记  ,,  0

研究了几天的Apache下的防盗链重写, 还是小有成就的,不管怎样,可以实现这个功能了!

下面的就是防盗链的重写规则:

RewriteEngine on

RewriteCond %{REQUEST_URI} !^/(Error|404)/

RewriteCond %{HTTP_REFERER} !^http://(.)+\.abc\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://abc\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://(.)+\.baidu\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://baidu\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://(.)+\.baidu\.cn [NC]

RewriteCond %{HTTP_REFERER} !^http://baidu\.cn [NC]

RewriteCond %{HTTP_REFERER} !^http://(.)+\.google\.cn [NC]

RewriteCond %{HTTP_REFERER} !^http://google\.cn [NC]

RewriteCond %{HTTP_REFERER} !^http://(.)+\.google\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://google\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://(.)+\.soso\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://soso\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://(.)+\.bing\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://bing\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://(.)+\.yahoo\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://yahoo\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://(.)+\.sogou\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://sogou\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://(.)+\.youdao\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://youdao\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://(.)+\.msn\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://msn\.com [NC]

RewriteRule .*\.(jpg|gif|png|bmp|mp3|swf|mp4|txt|rar|zip)$ http://www\.abc\.com/Error/404.gif [R,L,NC]

刚开始在写的时候犯了一个错,就是没有注意转义字符“\”,导致怎么也不能实现重写,后来几经盘查,终于发再了这个错误。再写之,一切OK!

上面的代码我解释下:

RewriteEngine on:是开启功能

RewriteCond %{REQUEST_URI} !^/(Error|404)/ :表示在htacces所在根目录下Error和404两个目录是不受htacces防盗链保护的

RewriteCond %{HTTP_REFERER} !^http://(.)+\.abc\.com [NC]

RewriteCond %{HTTP_REFERER} !^http://abc\.com [NC]

……

上述这表示哪些域名是可以正常访问,不被规则禁止,当然你自己的网站的域名必须要在此列,不然自己都不能访问图片了

RewriteRule .*\.(jpg|gif|png|bmp|mp3|swf|mp4|txt|rar|zip)$ http://www\.abc\.com/Error/404.gif [R,L,NC]

这个表示用规则外的域名访问触及到以上格式的文件,将被禁止访问,并跳转到http://www\.abc\.com/Error/404.gif,提示错误。

  • 用支付宝打我
  • 用微信打我

生活是一种记录:记录所见、所闻、所想、所感……

《Apache下的.htaccess防盗链重写》没有评论

发表评论