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

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 -> configD

匹配到F,往下匹配到D,停止往下

/abc/def -> config B

匹配规则B

951c2f0b14616212f6c75b892a4e1d89.png

rewrite 重写

重写中用到的指令

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

set #设置变量

return #返回状态码

break #跳出rewrite

rewrite #重写

If 语法格式

If 空格 (条件) {

重写模式

}

条件又怎么写?

答:3种写法

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

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

~* 不区分大小写的正则

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

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

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值