Apache图片防盗链配置方法介绍(可用.htaccess)

作者:简简单单 2014-07-09

图片防盗链配置规则很简单

RewriteRule .*.(gif|jpg|swf|png)

说明一下其中的R、NC 和 L

R 就是转向的意思
NC 指的是不区分大小写
L 的作用是指明本次转向到此结束,后续的转向不受先前判断语句的影响

5、防止 盗链的文件类型

上例中是 gif、jpg、png,而根据须要 ,可修改 或添加其他文件类型,如rar、mov等,不同文件扩展名间运用 “”分割。


使用 rewrite 技术实现 Apache 防盗链

Apache 防盗链的第一种实现方法,可以用 rewrite 实现。首先要确认 Apache 的 rewrite module 可用:能够控制 Apache httpd.conf 文件的,打开 httpd.conf,确保有这么一行配置:

LoadModule rewrite_module modules/mod_rewrite.so

然后在找到自己网站对应的 配置的地方,加入下列代码:

 代码如下 复制代码

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://www.111com.net/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.111com.net$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.www.111com.net/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.www.111com.net$ [NC]
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !localhost [NC]
RewriteRule .*.(gif|jpg|swf|png)$ http://www.www.111com.net /nolink.bmp [R,NC]


.htaccess实现图片防盗链

注意事项:.htaccess默认是不支持的哦,所以我们先要开启此功能。

打开httpd.conf文件(在那里? apache目录的conf目录里面),用文本编辑器打开后,查找allowoverride none

 代码如下 复制代码


  options followsymlinks
  allowoverride none

  改为


  options followsymlinks
  allowoverride all

重起apache,这样你的服务器就支持了.htaccess了

使用.htaccess禁止盗链

通过.htaccess来防止网站的图片、压缩文件、或视频等非Html文件被盗链的方法相当简单,通过在该文件中加入几句命令即可保护我们宝贵的带宽。例如本站的设置如下:

 代码如下 复制代码

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !localhost [NC]
RewriteRule .*.(gif|jpg)$ http://domain.com/no.png [R,NC,L]

最后给大家介绍一个RewriteCond %{HTTP_REFERER} !^$ [NC]这句的意思了,很多朋友看不懂。

允许空“HTTP_REFERER”的访问,即允许用户在浏览器地址栏中直接输入图片地址时图片文件的显示。一般而言,这是可选的,不过,建议这么设置,如果强迫必须具有“HTTP_REFERER”才能访问,可能会带来某些问题,比如说在用户通过代理服务器访问时。

如果只是目录我们只要

 代码如下 复制代码

RewriteEngine On
RewriteBase /blog/
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !localhost [NC]

即可。

相关文章

精彩推荐