nginx与location语法详解

Location语法优先级排列

匹配符 匹配规则 优先级
=    精确匹配    1
^~    以某个字符串开头    2
~    区分大小写的正则匹配    3
~*    不区分大小写的正则匹配    4
!~    区分大小写不匹配的正则    5
!~*    不区分大小写不匹配的正则    6
/    通用匹配,任何请求都会匹配到    7

nginx.conf配置文件实例

复制代码
server {
    listen 80;
    server_name pythonav.cn;

    #优先级1,精确匹配,根路径
    location =/ {
        return 400;
    }

    #优先级2,以某个字符串开头,以av开头的,优先匹配这里,区分大小写
    location ^~ /av {
       root /data/av/;
    }

    #优先级3,区分大小写的正则匹配,匹配/media*****路径
    location ~ /media {
          alias /data/static/;
    }

    #优先级4 ,不区分大小写的正则匹配,所有的****.jpg|gif|png 都走这里
    location ~* .*\.(jpg|gif|png|js|css)$ {
       root  /data/av/;
        }

    #优先7,通用匹配
    location / {
        return 403;
    }
}
复制代码

nginx语法之root和alias区别实战

复制代码
nginx指定文件路径有root和alias两种方法
区别在方法和作用域:

方法:

root
语法  root  路径;
默认值 root   html;
配置块  http{}   server {}   location{}

alias
语法: alias  路径
配置块  location{}


root和alias区别在nginx如何解释location后面的url,这会使得两者分别以不同的方式讲请求映射到服务器文件上

root参数是root路径+location位置

root实例:

    location ^~ /av {
        root /data/av;   注意这里可有可无结尾的   /
    }
请求url是pythonav.cn/av/index.html时
web服务器会返回服务器上的/data/av/av/index.html

root实例2:
location ~* .*\.(jpg|gif|png|js|css)$ {
       root  /data/av/;
}

请求url是pythonav.cn/girl.gif时
web服务器会返回服务器上的/data/static/girl.gif




alias实例:
alias参数是使用alias路径替换location路径
alias是一个目录的别名
注意alias必须有 "/"  结束!
alias只能位于location块中


请求url是pythonav.cn/av/index.html时
web服务器会返回服务器上的/data/static/index.html

location ^~ /av {
    alias /data/static/;
}
复制代码

 

posted @   py鱼  阅读(3672)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2017-12-07 Go 语言常量
点我回主页
点击右上角即可分享
微信分享提示