码迷,mamicode.com
首页 > 其他好文 > 详细

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

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

标签:io   sp   文件   on   问题   log   bs   html   ad   

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

标签:io   sp   文件   on   问题   log   bs   html   ad   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!