因为nginx不支持.htaccess,所以在防盗链上比较麻烦。上网搜了一下,代码很容易搜到,甚至lnmp一键安装包的作者Licess都给出了这样一段防盗链代码,但是还是有很多人叫着方法无效,这是为什么呢?
Licess给出的代码如下:
[code lang=”plain”]
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
valid_referers none blocked zhukun.net *.zhukun.net *.youdao.com *.zhuaxia.com *.xianguo.com *.google.cn *.google.com *.google.com.tw *.google.com.sg *.google.com.hk *.bloglines.com image.soso.com cn.bing.com image.baidu.com *.feedburner.com *.feedsky.com;
if ($invalid_referer) {
rewrite ^/ http://image161.poco.cn/mypoco/myphoto/20100506/20/124649620100506204112026.jpg;
#return 404;
}
}
把这段代码加入到/usr/local/nginx/conf/nginx.conf的server段里,然后执行如下命令重启lnmp:
/root/lnmp restart
很多人在测试了这个方法以后,发现没有效果,这是为什么呢?原因在于上面这段代码跟另一段代码产生了冲突。同样是修改/usr/local/nginx/conf/nginx.conf文件,把其中的下面这段代码删除:
[code lang=”plain”]
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
删除以后,再次重启lnmp,你会发现,防盗链设置已经生效了。
也可以将两者组合,形成一段新的代码:
[code lang=”plain”]
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
valid_referers none blocked *.zhukun.net *.youdao.com *.zhuaxia.com *.xianguo.com *.google.cn *.google.com *.google.com.tw *.google.com.sg *.google.com.hk *.bloglines.com image.soso.com cn.bing.com image.baidu.com *.feedburner.com *.feedsky.com;
if ($invalid_referer) {
rewrite ^/ http://image161.poco.cn/mypoco/myphoto/20100506/20/124649620100506204112026.jpg;
#return 404;
}
}
重启lnmp,你会发现,防盗链设置仍然有效。
收藏,一般情况下懒得改了。
不错,原来你也是个linux技术高手。我已经很长时间没摸这些东西了。
我不是高手呀 我折腾了好久才折腾出来答案的~
我给你测试了一下,有效
1-2天前生效了~因我試用http://01804.com/入你的站~
出現那些防盜連警告~
http://image161.poco.cn/mypoco/myphoto/20100506/20/124649620100506204112026.jpg
这个好,我需要
cpanel后台,好像自带防盗链,个人感觉要是流量丰富的话 不必防盗链
这个有用,以后用VPS再来找找看,收藏了!
你这机子不错。
我最烦的就是nginx不支持Thinkphp,网上找了半天也无法解决……唉
我靠,这样也行
今天折腾了一下午才弄懂怎么在虚拟机上装红帽。。无语。。
先收藏着吧- –
请问小荷塘用的是哪里的主机?速度很不错.
我用的美国东海岸的VPS,目前正在找人合租,你想加入不?
原来是84,没想到访问速度还不错,估计母鸡负载不高,现在手头紧暂时不折腾了.
不错啊啊
谢谢分享,楼主有格调,有思想,强大系,纯真帮。
测试了一下·我无效··我哭··!!
http://img.longwx.com/heaer/20121213/20121213114346_117.jpg
哎,我的实现不了 郁闷,
我的完整代码:
server
{
listen 80;
server_name imgurl.qifangjie.com;
index index.html index.htm index.php default.html default.htm default.php;
root /aliyun/accessory;
include none.conf;
location ~ .*\.(php|php5)?$
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
valid_referers none blocked *.qifangjie.com;
if ($invalid_referer) {
rewrite ^/ http://image161.poco.cn/mypoco/myphoto/20100506/20/124649620100506204112026.jpg;
#return 404;
}
}
access_log off;
}
对了,这段代码 我实际上是删掉的哦
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}