以下是nginx配置的代码:
location ~ .*\.(jpg|png|gif|jpeg|swf|flv|rar|zip)$ {
valid_referers none blocked my.weibo.com;
# 该指令会根据Referer Header头的内容分配一个值为0或1给变量$invalid_referer。如果Referer Header头不符合valid_referers指令设置的有效Referer,变量$invalid_referer将被设置为1.
# none:表示无Referer值的情况;
# blocked:代表有referer但是被防火墙或者是代理给去除了;
# server_names:表示一个或多个主机名称;
if ($invalid_referer) {
#return 403;
rewrite ^/ http://my.weibo.com/no.png;
}
}
当外部网址进行访问的时候,让其展示至目录下的no.png图片,于是出现死循环
主要问题的根本是在显示的no.png的时候,referer还是源站点的网址,所以导致显示no.png的时候他也进入了那个条件中。
想问下这种情况可以解决么?还是我配置少写了点什么?
死循环了,所以要用
location = /no.png
来优先匹配