nginx - 如果静态文件不存在,则提供静态文件并回退到动态内容
问题描述
当有人访问 /mypage-234.html
我希望nginx:
- 首先在目录中查找静态文件“234”
- 如果该静态文件不可用,它将动态提供内容
要获取静态文件,我可以重写
rewrite ^/mypage-([a-zA-Z0-9]*).*$ /staticfiles/$1 break;
但是如果文件不存在,它将不会回退到动态内容
所以我认为使用try_files,这样的东西会起作用,但它没有:
location ~ "/mypage-([a-zA-Z0-9]*).*" {
try_files /staticfiles/$1 /php/dynamic.php?id=$1;
}
(php已经设置好并且可以工作了,所以当静态文件不存在时让它回退才是问题所在)
解决方案
推荐阅读
- esp8266 - ESP8266 WeMos D1 使用 deepsleep 消耗太多电池
- javascript - 如何在计时器中添加保存按钮
- r - 当我下载了正确的 chromedriver 并保存到路径时,为什么我仍然有 Selenium chromedriver 不匹配问题
- asp.net-mvc - 我在 Employee 控制器上从 lstpresentEmp 和 lstAbsentEmp 数据库访问值时遇到问题
- python - 为什么我的 Python 应用程序与 Heroku 的 Python buildpack 不兼容
- c# - 中止 MassTransit StartAsync
- swift - 如何在 Alamofire 5 中获取原始请求?
- asp.net-core - 在 ASP.NET Core 中实例化 IHubContext
- css - 通过 CSS 的表单视图隐藏按钮
- dll - 错误 LNK2019:未解析的外部符号静态库