angular - 将 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 做同样的事情。
解决方案
在 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('/');
推荐阅读
- html - CSS 不会与我的 HTML 连接
- c# - 如何随机化二维数组以在两个方向上都具有唯一值?
- vba - vba Word在2个光标点之间创建一个具有文本值的变量
- html - css active 不能正常工作,只有默认的 bootstrap active 类会
- ios - 在 iOS (Flutter) 中使用 Firebase 和 Geolocator(或任何 Swift 插件)构建错误
- laravel - Laravel 搜索结果在第二页
- angular - 通过带有表单数据和文件的Angular HttpClient上传文件,但multer不会获取文件
- jquery - 如何从 API 中动态显示 JSON 数据?
- angular - 如何使用 zip 和 switchMap?
- angular - “未找到模块:错误:无法解析 'rxjs/add/operator/switchMap'”在 Angular 6 中使用 LinkedIN API