nginx server中的root和location的root的区别


总结:# 就近原则

当直接访问服务器,不加其他路径访问时,并且nginx配置中,含有location /{}配置时,nginx的location会优先匹配到此代码块,会指向此代码块中的root , server中的root, 不会生效。当去掉/ 配置,nginx找不到匹配到的location代码块时候,则会才执行server中的root。—-也就是就近原则。

server {
    listen       80 ;
    server_name  www.tianyichuxin.com  tianyichuxin.com;
    root        /usr/website/www; #www不生效

    location / {
        root        /usr/website/blog;  #blo生效
        index index.html index.aspx index.php index.htm;
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Credentials: true;
    }

    # 定义错误页面码,如果出现相应的错误页面码,转发到那里。
    error_page 404 /404.html;
        location = /404.html {      #承接上面的location。
        root   /usr/website/errors/;  #放错误页面的目录路径。
    }
    error_page 403 /403.html;
        location = /403.html {
        root   /usr/website/errors/;
        #allow all;
    }
}

文章作者: 弈心
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 弈心 !
评论
  目录