【问题标题】:How to handle 404 error for a Angular App deployed in jBoss Server?如何处理部署在 jBoss 服务器中的 Angular 应用程序的 404 错误?
【发布时间】:2018-06-19 06:25:55
【问题描述】:

{ provide: APP_BASE_HREF, useValue: '/' }, { provide: LocationStrategy, useClass: PathLocationStrategy } -> 在 app.module.ts 中

<base href="/"> -> 在 index.html 中

使用上述 2 种方法,我可以从 URL 中删除 #,但是如果我刷新页面,只有在我在 jBoss 服务器中构建和部署我的应用程序时才会遇到 404 错误。在我的本地,即使我刷新页面,它也能正常工作。

有没有办法从 Angular 端或服务器端处理这个问题?

我在 web.xml 中添加了以下代码

<error-page> <error-code>404</error-code> <location>/index.html</location> </error-page>

但它正在导航到登录页面。我们能不能让它留在同一个页面上。

【问题讨论】:

    标签: angular typescript angular-routing


    【解决方案1】:

    不具体了解 jBoss 服务器,但为了让 Angular 路由器控制您的应用程序,服务器必须返回 index.html 以防 404 错误。你查了吗?

    【讨论】:

    • 你能用 HashLocationStrategy 检查它吗?这将澄清角度或服务器配置是否有问题。
    【解决方案2】:

    您必须在 index.html 中添加 &lt;base href="/your-app/"&gt;,然后在 jboss-web.xml 中添加 context-root。

    <?xml version="1.0" encoding="UTF-8"?>
    <jboss-web>
      <context-root>/your-app</context-root>
    </jboss-web>
    

    您应该确保所有编译的 Angular 文件都在 webapp

    再见:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-20
      • 1970-01-01
      • 1970-01-01
      • 2016-04-19
      • 2020-05-14
      • 2020-02-01
      • 1970-01-01
      相关资源
      最近更新 更多