猿问

Nginx 动静态分离,但是排除某个路径的静态请求怎么写?

#配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取。
location~.*\.(woff|ttf|svg|eot|gif|jpg|jpeg|bmp|png|ico|txt|js|css|xml)$
{
root/usr/share/nginx/static;
#expires定义用户浏览器缓存的时间为7天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力
expires7d;
}
location~\.(druid).*\.(woff|ttf|svg|eot|gif|jpg|jpeg|bmp|png|ico|txt|js|css|xml)$
{
proxy_passhttp://127.0.0.1:8000;
}
目标:访问/druid下静态文件时还是到8000端口获取,而不是使用Nginx静态文件,上面的配置不对,试过很多配置都不好使......
达令说
浏览 1484回答 2
2回答

慕尼黑的夜晚无繁华

~表示正则匹配。而你配置的规则里,第一条正则.*就包含.(druid)了。所以在第一条就认为是匹配上了,不会进行后面的匹配了。只有普通匹配,才会把所有规则都过一遍,然后挑一个匹配度最高的。你查一下:nginxlocation匹配规则(顺序)。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答