nginx - 将对不存在的文件的所有请求重定向到索引页面?

Vic*_*rin -1 rewrite nginx

我有一个带有 1 个 html 文件的简单网站index.html。我希望该类型的所有用户都example.com/abcde将被重定向到example.com 当然,所有指向资源文件(图像/css/js 等)的链接都应该工作

目前,我有这个:

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

此设置有效,如果用户尝试打开example.com/abcde. 但是浏览器中的URL并没有改变... 如何重写URL?

kri*_*sFR 5

您不一定需要重写。

您可以使用重定向作为后备位置:

location / {
    try_files $uri $uri/ @fallback;
}

location @fallback {
    return 301 http://example.com;
}
Run Code Online (Sandbox Code Playgroud)