如何解决用于角度 uri 路由的 Nginx 回退
因此,我为我的 Angular 应用程序设置回退路线的所有尝试都失败了,我需要一些帮助。
我在 Synology nas 上使用 nginx 1.16.1。我有多个虚拟主机。其中之一有静态页面并且工作正常,但是我的 angular 应用程序托管在其中一个虚拟主机上,只有当我通过 vhost 的名称(如 http://mynas/myvhost
)访问它时才有效,并且由于 angular 应用程序有一些内部路由,它在 http://mynas/myvhost/home
上重定向自身。这意味着如果我刷新页面,我将有一个 404,因为文件“/home”不存在,它只是 angular 的内部路由。
从我收集到的信息来看,我需要设置一个后备地址,以便如果找不到文件,nginx 会返回我的 angular 应用程序的 index.html。
我尝试将它们写入 /etc/nginx/nginx.conf
文件,如下所示:
location /myvhost {
try_files $uri $uri/ /myvhost/index.html;
}
在那之后,重新加载了 nginx,但我似乎从来没有让它正常工作。我尝试了上述代码的许多不同变体(在 vhost 之后使用 /,使用 =404,我可以在网上找到的所有内容)。 浏览器只给出 404 与此日志:
2021/06/28 12:07:27 [error] 25174#25174: *27 open() "/var/services/web/missing" failed (2: No such file or directory),client: 192.168.6.109,server:,request: "GET /missing HTTP/1.1",host: "mynas",referrer: "http://mynas/"
2021/06/28 12:07:35 [error] 25173#25173: *32 stat() "/var/services/web/index.html" failed (2: No such file or directory),client 192.168.6.109,referrer: "http://mynas/myvhost/home"
如果有人可以帮助处理 nginx conf 文件,那就太好了。谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。