nginx:将所有请求发送到单个html页面

2022-08-30 01:59:58

使用nginx,我想保留url,但实际上无论如何都加载相同的页面。我将使用 url with 在我的 javascript 应用中路由请求。似乎这应该是一件简单的事情吗?History.getState()

location / {
    rewrite (.*) base.html break;
}

工作,但重定向网址?我仍然需要网址,我只想始终使用相同的页面。


答案 1

我认为这将为您做到:

location / {
    try_files /base.html =404;
}

答案 2

使用对我来说不起作用 - 它导致我的日志中出现重写或内部重定向周期错误。try_files

Nginx文档有一些额外的细节:

http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files

所以我最终使用了以下内容:

root /var/www/mysite;

location / {
    try_files $uri /base.html;
}

location = /base.html {
    expires 30s;
}