让 Nginx 始终为索引提供服务

Che*_*ona 7 nginx

无论 URL 是什么,如何让 nginx 始终提供 index.html 服务?

例如,我希望 URLhttps://www.example.me/723738始终提供https://www.example.me/index.html

我不想使用重定向,因为用户必须仍然拥有他们在地址栏中键入的原始 URL。

我更改了 Nginx 配置以将 404 重定向到 index.html,但我认为这不是一个好方法,因为它会返回 404 响应。

将来我可能想让 index.html 显示用户访问的原始 URL,有没有办法做到这一点?

谢谢

Ric*_*ith 9

通用模式try_files与默认 URI 一起使用。以极简主义为例:

server {
    root /path/to/root;
    location / {
        try_files $uri $uri/ /index.html;
    }
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅此文档

  • 非常正确,但是通常有资源文件需要通过`index.html` 拉入,这就是为什么我首先提出通用解决方案的原因。 (2认同)
  • @ElgsQianChen 使用 `try_files /index.html =404;` 或 `rewrite ^ /index.html break;`。但如果不进行其他更改,它将中断对资源文件(JS、CSS、IMG)的访问。 (2认同)