【发布时间】:2016-05-19 00:30:47
【问题描述】:
我是 Angular 2 的新手。我已将我的单页应用程序存储在我的服务器中名为“myapp”的文件夹中。我已将基础中的 URL 更改为 http://example.com/myapp/`。
我的项目有两个页面。所以我实现了 Angular 2 路由。我将默认页面设置为登录。当我在浏览器中输入http://example.com/myapp/ 时,它会自动重定向到http://example.com/myapp/login。但是,如果刷新该页面,我会收到 404 错误,说找不到 http://example.com/myapp/login。
但是,如果我使用 lite 服务器运行我的项目,一切正常。在这种情况下,index.html 中的基本 URL 将是 "/"。如何解决?
【问题讨论】:
-
目前,我使用 Angular 9 应用程序并将其部署在带有 web.config 文件的 IIS 服务器上,当我们刷新页面时,它会正确加载 Angular 应用程序。我认为这不是角度应用程序的问题。但是当我将代码部署到 Ubuntu 服务器应用程序时,由于我们没有配置 URL 重写规则,因此出现 404 not found 错误。添加用于重写 URL 的 .htaccess 文件后,它可以在刷新时工作。
-
我在生产中遇到了同样的问题,在开发中很好。这个答案解决了这个问题:stackoverflow.com/a/39103122/12603542,与
useHash: true,我只需要弄清楚如何摆脱/#/