欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Nginx location语法配置详解 location的意思 $location location重定

程序员文章站 2022-04-03 14:15:18
...
location 有“定位”的意思,可以根据URI来进行不同的的定位

在虚拟主机的配置中,是必不可少的,location,他可以把网站的不同部分,定位到不同的处理方式上

location 的语法

location [=|~|~*|^~] patt {

}

location 语句大致可以分为三种

location = demo {} 【精准匹配】

location demo {} 【普通匹配】

location ~ demo {} 【正则匹配】


在这三种匹配中精准优先匹配,如果精准匹配成功,则停止匹配过程

 location = / {
	 # 精确匹配 / ,主机名后面不能带任何字符串
          config A
       }
 location / {
 	 # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求
 	 # 但是正则和最长字符串会优先匹配
         config B
  }
location ~ image {
        # 匹配任何以 /iamge/ 开头的地址,匹配符合以后,还要继续往下搜索
        # 只有后面的正则表达式没有匹配到时,这一条才会采用这一条
        config C
}
location /foo {
        # 字符匹配到 /foo,继续往下
        config D
}

    • =开头表示精确匹配
      如 A 中只匹配根目录结尾的请求,后面不能带任何字符串。
    • ~ 开头表示区分大小写的正则匹配;
    • ~* 开头表示不区分大小写的正则匹配
    • / 通用匹配, 如果没有其它匹配,任何请求都会匹配到
      • / -> config A
        精确完全匹配
      • /image/logo.png -> config C
        匹配B以后,往下没有任何匹配,采用C
      • /foo -> config D
        匹配到F,往下匹配到D,停止往下
      • /abc/def -> config B
        匹配规则B
      Nginx location语法配置详解 location的意思 $location location重定

rewrite 重写

重写中用到的指令

if (条件) {} 设定条件,再进行重写

set #设置变量

return #返回状态码

break #跳出rewrite

rewrite #重写

If 语法格式

If 空格 (条件) {

重写模式

}

条件又怎么写?

答:3种写法

1: “=”来判断相等, 用于字符串比较

2: “~” 用正则来匹配(此处的正则区分大小写)

~* 不区分大小写的正则

3: -f -d -e来判断是否为文件,为目录,是否存在.


以上就介绍了Nginx location语法配置详解,包括了location,nginx方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关标签: location nginx