noj*_*ojs 6 react-router caddy
我需要什么样的 Caddyfile 配置才能正确地使用 react-router 为 react 应用程序(使用 create-react-app 创建)提供服务?基本上,domain.com/app/(这是应用程序的根)应该重定向到index.html,domain.com/app/sub应该重定向到index.html(路由将由 react-router 在前端完成),但又例如domain.com/app/manifest.json不应该重定向到任何地方,因为它是一个实际的文件,需要送达。然后还有domain.com/app/static/应该按原样提供的 url。
我目前的 Caddyfile:
domain.com/app {
root /server/public/app
rewrite / {
to {path} /
}
}
Run Code Online (Sandbox Code Playgroud)
这种工作,但它也重定向domain.com/app/manifest.json和所有domain.com/app/static/网址。
如何告诉 Caddy 在路径中查找文件,如果它不存在则重定向到根目录?文档暗示这是重写块应该如何工作,但我的配置文件中有问题,因为它似乎不起作用。
我已经尝试了很多示例,但它们也都重定向了 /static/ 文件夹和 manifest.json 等。
您正在寻找的指令是try_files.
将请求 URI 路径重写为站点根目录中存在的第一个列出的文件。如果没有文件匹配,则不执行重写。
根据您的情况,您需要:
try_files {path} /index.html
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2387 次 |
| 最近记录: |