【问题标题】:How to always return index.html TomCat如何始终返回 index.html TomCat
【发布时间】:2018-06-03 05:44:28
【问题描述】:

我有一个在 TomCat 上实时运行的 Angular 应用程序,但是由于我已经实现了路由,如果我手动访问一个 url,我会得到一个 404 找不到。此外,当发生错误时,它是一个基本的服务器页面,而不是我的错误 url 页面。

如何配置 TomCat 在路由和错误时始终返回 index.html?我知道设置,因为我使用不同的服务器完成了设置,我只是 TomCat 的新手,在网上找不到任何东西。

据我了解,这是其他后端语言中非常简单的几行代码,我只是在 TomCat 上找不到任何信息。

【问题讨论】:

    标签: angular tomcat error-handling routing


    【解决方案1】:

    基本上你必须更改tomcat目录的conf文件夹中的web.xml文件。 $CATALINA_HOME/conf/web.xml

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

    并添加一个包含该页面的 web 应用程序,并将响应给定位置下的 URL。

    【讨论】:

    • 那么路由呢?如何为任何路线返回 index.html?
    • 我不认为角度路由应该造成任何问题。它将根据对该用户的访问权限导航到您提到的页面。您可能正在访问不存在的 URL,这就是您收到 404 错误页面的原因。如果您想自定义该错误页面,您可以使用自定义错误页面进行更改。
    • Angular 是一个 SPA 框架,所以在路由过程中,必须始终返回 index.html 页面。将其视为 '/*' 模式
    猜你喜欢
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 2016-05-31
    • 2015-08-15
    • 2012-03-18
    • 2011-05-09
    相关资源
    最近更新 更多