比如你的图片都在img目录下,那就在该目录下放一个名为 .htaccess 的文件(根据项目需要也可以在更目录下创建.htaccess文件)
主要根据http协议里面的referer项来判断。
注意需要修改apache的配置文件httpd.conf中的mod_rewrite项前面的注释("#")去掉,然后重启apache
.htaccess文件内容如下
RewriteEngine on //将RewriteEngine引擎设置为on,就是让url重写生效
RewriteCond%{HTTP_REFERER} !^$ //如果文件存在,就直接访问文件,不进行下面的RewriteRule.
RewriteCond%{HTTP_REFERER} !^http://www.ojy021.cn/?.*$ [NC] //访问路径如果不是http://www.ojy021.cn/XXX开口的则访问ab.jpg文件
RewriteRule.(gif|jpg)$ ab.jpg //让所有盗链 img 目录下 jpg、gif 文件的网页,显示的图片都用 ab.jpg 图片替换掉。
Rewrite标志
R[=code](force redirect) 强制外部重定向
G(force URL to be gone) 强制URL为GONE,返回410HTTP状态码。
P(force proxy) 强制使用代理转发。
L(last rule) 表明当前规则是最后一条规则,停止分析以后规则的重写。
N(next round) 重新从第一条规则开始运行重写过程。
C(chained with next rule) 与下一条规则关联
如果规则匹配则正常处理,该标志无效,如果不匹配,那么下面所有关联的规则都跳过
T=MIME-type(force MIME type) 强制MIME类型
NS (used only if no internal sub-request) 只用于不是内部子请求
NC(no case) 不区分大小写
QSA(query string append) 追加请求字符串
NE(no URI escaping of output) 不在输出转义特殊字符