如何在没有散列(#)路由的情况下,在刷新Angular 8的SPA时删除404错误?
我在我的单页应用程序项目中使用Angular 8。当我在IIS服务器中上传我发布的代码,并且在路由中不使用散列(#)时,在刷新页面时,它将出现404错误。请帮我解决这个问题。是否有任何解决方案可以在路由中不使用哈希(#)来删除此错误?因为我想让我的URL搜索引擎友好。你得到的是404,因为你在托管服务器上请求的路径中没有HTML。SPA需要设置到index.html的重定向。Angular然后将引导应用程序并重定向到正确的视图 这就是如何在最常见的web服务器中设置它如何在没有散列(#)路由的情况下,在刷新Angular 8的SPA时删除404错误?,angular,typescript,Angular,Typescript,我在我的单页应用程序项目中使用Angular 8。当我在IIS服务器中上传我发布的代码,并且在路由中不使用散列(#)时,在刷新页面时,它将出现404错误。请帮我解决这个问题。是否有任何解决方案可以在路由中不使用哈希(#)来删除此错误?因为我想让我的URL搜索引擎友好。你得到的是404,因为你在托管服务器上请求的路径中没有HTML。SPA需要设置到index.html的重定向。Angular然后将引导应用程序并重定向到正确的视图 这就是如何在最常见的web服务器中设置它 阿帕奇 非法移民 Ngi
- 阿帕奇
- 非法移民
- Nginx
- 阿帕奇
- 非法移民
- Nginx
web.config
文件中,请参阅此处。我在web.config文件中添加了这些规则,但没有删除哈希(#)如果您只想部署angular应用程序,您可以简单地创建一个express应用程序并为其提供angular dist。快车会处理路线,你不会得到404。谢谢,但我没听清楚你到底在说什么。你能解释一下如何为angular创建express应用程序吗?要从url中删除(#),你必须使用RouterModule.forRoot(routes,{useHash:false})
中app.module.ts
文件的imports
部分。另外,请参考这篇文章。您应该将重写规则添加到web.config
文件,请参考这篇文章。我在web.config文件中添加了这些规则,但没有删除哈希(#)如果您只想部署angular应用程序,您可以简单地创建一个express应用程序并为其提供angular dist。快车会处理路线,你不会得到404。谢谢,但我没听清楚你到底在说什么。你能解释一下如何为angular创建express应用程序吗?要从url中删除(#),你必须使用RouterModule.forRoot(routes,{useHash:false})
中app.module.ts
文件的imports
部分。也请参考这一条我在web.config文件中添加了这些规则,但没有删除哈希(#)我在web.config文件中添加了这些规则,但没有删除哈希(#)