我搜索了很多有关托管 angular 应用程序的答案,我有一个生产构建 angular 包,其中包含如下文件夹:
我碰巧有一个以 www.example.com 作为域的基本托管服务,我能够上传到 public_html 文件夹,并且能够使用 angular 应用程序。 但是 url 有 #,这意味着即使主页也有像 wwww.example.com/#/home 这样的 url 结构,有什么方法可以让我至少显示主页而没有 #/ 类似 wwww.example 的东西。 com 并显示主页。
答案 0 :(得分:0)
这里有两件事你需要考虑:
确保您的 Angular 应用程序使用 HTML5 位置策略:https://angular.io/guide/router#locationstrategy-and-browser-url-styles
确保您的托管环境支持单页应用程序。这意味着所有未映射到物理文件/api 端点或其他资源的路径都应返回相同的 index.html
文件,因为它们将由 Angular 应用在客户端处理。
答案 1 :(得分:0)
您已从默认的 PathLocationStrategy
切换到 HashLocationStrategy
。还原此内容。
切换回 PathLocationStrategy
后,请确保您的服务器已设置为 SPA 服务;这意味着所有不指向现有资源的路径都应该为您提供 index.html
。
另外不要忘记指定<base href="/">
。当应用在嵌套路径中启动时,这将确保您的路由正常工作。