apache防盗链最常用的配置一种是在服务器中进行配置,另一种是在.htaccess 中进行配置,两种语法与效果完全相同。
Apache 防盗链的第一种实现方法,可以用 rewrite 实现。首先要确认 Apache 的 rewrite module 可用:能够控制 Apache httpd.conf 文件的,打开 httpd.conf,确保有这么一行配置:
代码如下 |
复制代码 |
LoadModule rewrite_module modules/mod_rewrite.so
|
.htaccess 防盗链配置
在使用.htaccess 防盗链配置时我们apache必须要
打开httpd.conf(在那里? APACHE目录的CONF目录里面),用文本编纂器打开后,查找
(1)
代码如下 |
复制代码 |
Options FollowSymLinks
AllowOverride None |
改为
代码如下 |
复制代码 |
Options FollowSymLinks
AllowOverride All |
(2)去掉下面的注释
代码如下 |
复制代码 |
LoadModule rewrite_module modules/mod_rewrite.so |
就了
# 防盗链配置
代码如下 |
复制代码 |
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://baidu.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://baidu.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.111cn.net/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.baidu.com$ [NC]
RewriteRule .*.(gif|jpg|swf)$ http://www.baidu.com/about/nolink.png [R,NC]
|
直接在服务器中站点目录中配置
# 防盗链配置
代码如下 |
复制代码 |
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://baidu.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://baidu.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.baidu.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.baidu.com$ [NC]
RewriteRule .*.(gif|jpg|swf)$ http://www.xxx.com/about/nolink.png [R,NC]
|
注意:
1.httpd.conf 文件里的配置,是在 apache 启动时一次读取,效率很高
2..htaccess 文件里的配置,每次访问都需要读取分析,效率很低。 |