nginx - 如何使用 try_files 绕过 404 HTTP 错误
问题描述
我想通过某种静态内容而不是 404 页面来解析对客户端的 HTTP 错误代码 404(未找到)响应。这可以通过后备方案、使用try_files并向客户端响应 HTTP 200 来完成吗?
如果请求 /blahblah,第一个位置将首先获取请求并尝试在 /var/www/main 目录中查找名为 blahblah 的文件。
如果请求找不到,它将通过搜索名为blahblah.html的文件来跟进。然后它将尝试查看 /var/www/main 目录中是否有一个名为 blahblah/ 的目录。
如果所有这些尝试都失败,它将重定向到 /fallback/index.html。这将触发另一个位置搜索,该搜索将被第二个位置块捕获。这将提供文件 /var/www/another/fallback/index.html。
通过这种配置是否可行?
root /var/www/main;
location / {
try_files $uri $uri.html $uri/ /fallback/index.html;
}
location /fallback {
root /var/www/another;
}
解决方案
推荐阅读
- java - 从 Java docker 容器连接到 MS SQL Server(HA,Always On)时的连接重置问题
- php - 如果 SQL 中的数据为真,则回显 html
- html - 将文本框限制为字段宽度
- php - 在heroku中找不到带有semantic-ui-css icon.woff2 404的Laravel
- javascript - 如何聚焦 Material UI 的 InputLabel?
- javascript - 使用添加按钮添加两个依赖选择
- kubernetes - 使用 Kubernetes 为 GIS 应用程序调整资源大小
- php - Laravel Nova 图像存储名称问题
- javascript - 如何在问题中添加图像?
- python - 将 PNG 文件加载到 TensorFlow 中