首页 > 其他 > 详细

nginx alias因为正则出错规则被覆盖问题的解决

时间:2014-11-24 18:42:42      阅读:1108      评论:0      收藏:0      [点我收藏+]

在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因为正则出错规则被覆盖问题的解决

原文:http://www.cnblogs.com/farlshan/p/4119168.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!