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 / 下面的配置,

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM