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,一般只用于内部重定向请求。

相关推荐:
主要特征:散装的没有散热器,质包是一年,而盒装的是带了散热器的,质包是三年 技术角度:散装和盒装CPU并没有本质的区别,至少在质量上不存在优劣的问题。 理论角度:盒装和散装产品在性能、稳定性以及可 …
从命名上我们可以看出wp_safe_redirect()是含有一个safe标识的,那么二者均用于跳转,有何不同? wp_safe_redirect()主要是用于安全的跳转,简单地理解就是会跳转前会判断是否为同个域名下,这样就有了同域 …
Everything是速度最快的文件名搜索必备工具,基于文件、文件夹名称的快速搜索引擎。其速度之快令人震惊,百G硬盘几十万个文件,可以在几秒钟之内完成索引;文件名搜索瞬间呈现结果。 它小巧免费,界面简洁 …
当设置cookie的过期时间$expire 为0时, 表示cookie的保存时间与浏览器进程一致,在浏览器进程未关闭状态,cookie均会存在,浏览器关闭后cookie会消失,php 手册上的解释为 “If set to 0, or omitted, the c …
简单科普下烧屏: 屏幕经过长时间的某个静止图像显示后,会留下该图象的残影,而这个残影是永久的,无法消除的。烧屏经常出现在新电子产品上面,尤其是等离子电视和采用三星AMOLED系列(包括Super AMOLED Pl …
拿起手机扫一扫即可带走我!