nginx配置try_files实现内部重定向
try_files指令介绍
在0.7以后的版本中加入了一个try_files指令,配合命名location,可以部分替代原本常用的rewrite配置方式,提高解析效率。
语法:try_files file … uri(格式1) 或 try_files file … = code(格式2)
默认值:无
作用域:server location
解释说明:
1、按指定的file顺序查找存在的文件,并使用第一个找到的文件进行请求处理;
2、查找路径是按照给定的root或alias为根路径来查找的;
3、如果给出的file都没有匹配到,则会进行一个内部重定向到最后一个参数给定的uri,就是新的location匹配;
4、只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向;
5、最后一个参数是回退URI且必须存在,否则会出现内部500错误;
6、如果是(格式2),若最后一个参数是 = 404 ,若给出的file都没有匹配到,则最后返回404的响应码。
try_files使用实例
location /m/ {
index index.html;
try_files $uri $uri/ /m/index.html;
}
location /member/ {
index index.html;
try_files $uri $uri/ /member/index.html;
}
try_files 扫描内部目录是否存在对应的目录,然后重定向