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

WBOY
发布: 2016-07-29 08:49:25
原创
1918 人浏览过

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配置,nginx location 过滤,nginx geo location,randomlocation,locationmanager,locationclient,setlocation,configlocation,echolocation,cursorlocation,locationholic,bdlocation,location的意思,$location,location重定

rewrite 重写

 

重写中用到的指令

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

set #设置变量

return #返回状态码

break #跳出rewrite

rewrite #重写

 

 

If  语法格式

If 空格 (条件) {

    重写模式

}

 

条件又怎么写?

答:3种写法

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

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

   ~* 不区分大小写的正则

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


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

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!