首页 > 代码库 > nginx alias因为正则出错规则被覆盖问题的解决
nginx alias因为正则出错规则被覆盖问题的解决
在windows平台 为nginx设置一个alias作虚拟目录。但是总是出404错误。
观察error.log,发现实际链接的目录总是原来的root,附上原nginx.conf的一部分.
location ~ .*\.(js|css)?
{
root D:/feeder/web/;
expires off;
}
location /download {
alias e:/record/;
index index.html index.htm;
expires off;
}
可以看出,上面为js/css文件的规则的正则表达式并不正确,?号在正则中匹配0个或一个js|css,从而整个表达式匹配的是.号...从而导致其中的root设定覆盖了/download下的alias设定
把location ~ .*\.(js|css)?中的?号前加上转义反斜杠,问题解决。
总结:本身找不出错误的时候,不妨看看问题是不是出在其它的地方。
nginx alias因为正则出错规则被覆盖问题的解决
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。