Nginx 多个 location 的匹配规则解释

背景

        记录一下配置时候的坑,想做到如下的目的。对默认的 index.html 不做任何的处理,只显示,但对下面的分享文件夹做目录美化,让他更好看,
在这里插入图片描述

配置如下

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location /share {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        charset utf-8;

        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;

        autoindex_format html;
        add_after_body /autoindex/footer.html;

    }

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        charset utf-8;
    }
}

        有两个 location 那我访问的时候采用哪一个配置。一句话,采用匹配字符最多的,举个例子

        http://ip:端口/share/ 能匹配到/share, 那么肯定是采用了 location /share 下面的配置,

        http://ip:端口/image/ 那就只匹配上了一个/ 自然采用 location / 下面的配置,

        http://ip:端口/share/算法书籍 还是采用了 location /share 下面的配置,

        http://ip:端口/logo.png 还是只能只匹配上了一个/ 自然采用 location / 下面的配置,

        注意:匹配的时候是从端口后面开始匹配的,两个的是这样,多个的也类似

posted on 2021-06-06 19:10  雾恋过往  阅读(1226)  评论(0编辑  收藏  举报

Live2D