nginx中的try_files指令和location指令

Nginx的配置语法灵活,可控制度非常高,是目前主流的服务器应用之一。

在0.7以后的版本中加入了一个try_files指令,配合命名location,可以部分替代原本常用的rewrite配置方式,提高解析效率。

举个例子:

server {
listen 80;
server_name www.yoursafe.cn;
root /www;
index index.html;
try_files $uri @test;
location @test{
proxy_pass http://127.0.0.1;
}
}

try_files指令:

语法:try_files file … uri 或 try_files file … = code
默认值:无
作用域:server|location

其作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。

需要注意的是,只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向。最后一个参数是回退URI且必须存在,否则会出现内部500错误。命名的location也可以使用在最后一个参数中。与rewrite指令不同,如果回退URI不是命名的location那么$args不会自动保留,如果你想保留$args,则必须明确声明。

location指令:

语法:location [=|~|~*|^~|@] /uri/ { … }
默认值:无
作用域:server

location指令是用来为匹配的URI进行配置,URI即语法中的”/uri/”,可以是字符串或正则表达式。但如果要使用正则表达式,则必须指定前缀。 [@] 即是命名location,一般只用于内部重定向请求。

我要评论!

想一个你喜欢的昵称。
给一个你的常用邮箱。
想和萌萌哒的TA们说点啥。
  • Debian是一款优秀的Linux发行版,相较于CentOS、Ubuntu有着更好的性能优势,BBR是谷歌最新的TCP拥塞算法,早已在Youtube上被普遍应用,开源免费,加速效果不错,海外服务器网络优化的必备良品,下面是开启BBR指导。 在默认的情况下,Debian6、7、8的内核并不高,一般是4...
  • 背景信息: 2019年4月18日,Confluence 官方发布安全更新,指出 Confluence Server 与 Confluence Data Center 在downloadallattachments 资源中存在目录穿越漏洞(CVE-2019-3398),远程攻击者可以利用此漏洞将Web...
  • Mac截图基本方法 全屏截图:Command+Shift+3 使用快捷键后会马上截取当前的全屏 指定区域截图:Command+Shift+4 使用快捷键后会出来一个带有座标的瞄准器,用鼠标的拖放可以选择需要截图的区域。此方式有秘笈,后面详细说。 指定程序窗口截图:Commnad+Shift+4+Sp...
  • 说到Windows 7也许你还在为大家都知道的功能赞叹,其实,在Windows 7中有很多被大家忽略的功能,在这里就为大家总结出七个被忽略的实用功能。 也许您对Windows 7的Aero功能(Aero Snap、Aero Peek、Aero Shake),Jump List(跳跃菜单),任务栏缩略...
  • SLC = Single-LevelCell, 即1bit/cell,速度快寿命长,价格超贵(约MLC3倍以上的价格),约10万次擦写寿命。 MLC = Multi-LevelCell, 即2bit/cell,速度一般寿命一般,价格一般,约3000 – 10000次擦写寿命。 TLC =...
微信扫一扫即可带走我!