首页 > 解决方案 > 将 Angular 9 应用程序部署到 Jboss 7 将 URL 重写为 index.html

问题描述

我正在尝试将 Angular 应用程序战争文件部署到 jboss 7。但是,我遇到了一个问题;404 page not found在刷新页面时在生产构建中。我知道所有 Angular 路由都应该通过 index.html 文件提供,所以我必须重写 URL。我在tomcat中尝试过,它使用

RewriteCond %{REQUEST_PATH} !-f
RewriteRule ^/dashboard/(.*) /dashboard/index.html

但我不知道如何用 jboss 7 做同样的事情。

标签: angularjboss7.x

解决方案


在 Panagiotis Chavariotis 评论(使用这篇文章)的帮助下,我通过添加这个配置文件 WEB-INF/undertow-handlers.conf 解决了这个问题:

path-prefix('/assets') -> done;
regex('(.*).js') -> done;
regex('(.*).ttf') -> done;
regex('(.*).woff') -> done;
regex('(.*).woff2') -> done;
regex('(.*).jpg') -> done;
regex('(.*).png') -> done;
regex('(.*).css') -> done;
regex('(.*).html') -> done;
path-prefix('/') -> rewrite('/');

推荐阅读