ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Nginx之try_files指令

2020-10-22 12:01:34  阅读:169  来源: 互联网

标签:files 123 whsir try Nginx html com


转载自https://blog.whsir.com/post-4964.html
try_files指令是在nginx0.7.27版本中开始加入的,
它可以按顺序检查文件是否存在,并返回第一个找到的文件,
如果未找到任何文件,则会调用最后一个参数进行内部重定向。

try_files指令,官方说明:http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files

Syntax:	try_files file ... uri;
try_files file ... =code;
Default:	—
Context:	server, location

示例一:

location /whsir/ {
    try_files $uri /whsir/default.gif;
}

说明:

1、访问www.example.com/whsir/123/321(文件不存在)时,此时看到的是default.gif图片,URL地址不变

2、访问www.example.com/whsir/123.png(文件存在)时,此时看到的是123.png图片,URL地址不变

总结:当images目录下文件不存在时,默认返回default.gif

示例二:

location /whsir/ {
    try_files $uri =403;
}

说明:

1、访问www.example.com/whsir/123.html(文件存在)时,此时看到的是123.html内容,URL地址不变

2、访问www.example.com/whsir/21.html(文件不存在)时,此时看到的是403状态,URL地址不变

总结:和示例一一样,只是将默认图片换成了403状态

示例三:

location /whsir/ {
    try_files $uri @ab;
}
location @ab {
    rewrite ^/(.*)$ https://blog.whsir.com;
}

说明:

1、访问www.example.com/whsir/123.html(文件存在)时,此时看到的是123.html内容,URL地址不变

2、访问www.example.com/whsir/21.html(文件不存在)时,此时跳转到吴昊博客,URL地址改变

总结:当文件不存在时,会去查找@ab值,此时在location中定义@ab值跳转到吴昊博客

示例四:

try_files $uri @pro;
location @pro {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass https://blog.whsir.com;
}

说明:

1、访问www.example.com/123.html(文件存在)时,此时看到的是123.html内容,URL地址不变

2、访问www.example.com/post-3647.html(文件不存在)时,此时看到的是吴昊博客的内容,URL地址不变

总结:当前服务器上文件不存在时,会进行反向代理

标签:files,123,whsir,try,Nginx,html,com
来源: https://www.cnblogs.com/faberbeta/p/13857447.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有