在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)?中的?号前加上转义反斜杠,问题解决。
总结:本身找不出错误的时候,不妨看看问题是不是出在其它的地方。
时间: 2024-11-08 22:42:07