前提:apache支持rewrite功能,并启用.htaccess功能
例:防止盗链p_w_picpaths下的图片:在网站的p_w_picpaths目录下添加.htaccess文件,
vim p_w_picpaths/.htaccess
- RewriteEngine on
- RewriteCond %{HTTP_REFERER} !^$
- RewriteCond %{HTTP_REFERER} !ok.com [NC]
- RewriteCond %{HTTP_REFERER} !okok.com [NC]
- RewriteRule .*.(gif|jpg|png|jpeg)$ http://www.ok.com/no.jpg [R,NC,L]
这样的话如果其它网站使用本网站p_w_picpaths下的图片会直接显示no.jpg
注:
R 就是转向的意思
NC 指的是不区分大小写
L 的作用是指明本次转向到此结束,后续的转向不受先前判断语句的影响
RewriteCond %{HTTP_REFERER} !ok.com [NC] --所有ok.com下的域名可以链接此目录下的图片,可以添加多个白名单。RewriteRule .*.(gif|jpg|png|jpeg)$ http://www.no.com/no.jpg [R,NC,L] --可以重定向到任意url的文件;也可以使用:
RewriteRule .*.(gif|jpg)$ - [F,NC,L]不重定向,直接禁止访问,提示没有权限。
RewriteCond %{HTTP_REFERER} !^$ [NC]:
允许空“HTTP_REFERER”的访问,即允许用户在浏览器地址栏中直接输入图片地址时图片文件的显示。一般而言,这是可选的,不过,建议这么设置,如果强迫必须具有“HTTP_REFERER”才能访问,可能会带来某些问题,比如说在用户通过代理服务器访问时。
一定要记得加上本域名的权限!
防盗链显示的图片尽量要小,减少带宽占用!