{ provide: APP_BASE_HREF, useValue: '/' },
{ provide: LocationStrategy, useClass: PathLocationStrategy }
- >在app.module.ts
<base href="/">
- &gt;在index.html
使用以上两种方式,我可以从网址中删除#
,但如果我刷新页面,那么只有在我在jBoss服务器中构建和部署应用程序时才会遇到404错误。在我的本地,它工作正常,即使我刷新页面。
有没有办法从Angular端或服务器端处理这个?
我在web.xml中添加了以下代码
<error-page>
<error-code>404</error-code>
<location>/index.html</location>
</error-page>
但它正在导航到着陆页。我们可以让它保持在同一页面。
答案 0 :(得分:0)
不要特别了解jBoss服务器,但为了让角度路由器控制你的应用程序,如果出现404错误,必须由服务器返回index.html。你看过了吗?
答案 1 :(得分:0)
您必须在index.html中添加<base href="/your-app/">
,然后在 jboss-web.xml 中添加上下文根。
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/your-app</context-root>
</jboss-web>
您应该确保所有编译的角度文件都在 webapp
中再见:)