有效 URL 上的 404 错误 - Nginx

有效 URL 上的 404 错误 - Nginx

我有一个单页应用程序,因此我只有一个索引文件。
出于某种原因,每次我直接转到“下页”时都会收到 404 错误。

www.domain.com 可以工作,但 www.example.com/service 则不行。

目前我有这个:

server {
    listen 80;
    server_name example.com *.example.com;
    return 301 https://example.com$request_uri;
  }
  server {
    listen 443 ssl;
    server_name www.example.com;
    ssl_certificate /path/to/certificate;
    ssl_certificate_key /path/to/key;

    root /var/www/app/app;
    index index.html;
    error_page 404 /index.html;
  }

第一个服务器只是将 http 请求重定向到 https。
我读了一些帖子,但没有找到任何有效的解决方案。有什么建议吗?

答案1

您的error_page指令不会更改响应代码。尽管这可能(见这个文件),该try_files指令可能是更好的解决方案。例如:

server {
    ...
    location / {
        try_files $uri $uri/ /index.html;
    }
}

这个文件了解详情。

相关内容