需求
根据访问的uri地址识别图片类型,将访问图片地址设置访问规则,允许指定的域名访问,直接访问图片地址不被允许。
匹配规则
location = /50x.html {
root /var/www/teachcourse.cn/html;
}
=
表示uri=50x.html
,映射到目录var/www/teachcourse.cn/html
下
location ^~ /imgs/ {
alias /home/dazhao/imgs/;
}
^~
表示 uri以/imgs/
字符串开头的地址映射到目录/home/dazhao/imgs/
下
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
~
表示以.php
结尾的正则匹配所有php文件,执行动态解析
location ~* \.(gif|jpg|png)$ {
valid_referers none blocked teachcourse.cn www.teachcourse.cn;
if ($invalid_referer) {
#rewrite ^/ https://www.teachcourse.cn/res/logo_link.bmp;
}
}
~*
表示所有以图片地址结尾的地址,设置防盗链规则(规则不区分大小写)
location / {
try_files $uri $uri/ /index.php?$args;
}
/
表示所有的请求都会执行该规则:
第一$uri
,获取数据失败;继续请求第二个$uri/
目录下资源;第二个又失败后,继续获取目录下/index.php
文件资源
匹配优先级:= > ^~ > /
因此,/
规则放在最后,其他规则放在前面,设置好后执行nginx服务器重启
sudo service nginx reload
sudo service nginx restart
当前文章价值6.05元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)
评论已关闭!