Ani*_*had 2 tomcat production-environment angular angular6
我试图找出如何设置 Apache Tomcat 服务器以在页面刷新时为 Angular 应用程序提供服务的方法。
路由仅在我单击时才起作用,但如果手动输入路径或者如果我进行页面刷新,则会出现 404 错误。
HTTP 状态 404 – 未找到
1)构建角度应用程序:
ng build --prod --base-href ./
Run Code Online (Sandbox Code Playgroud)
2)我还在apache tomcat中添加了重写规则
在 $ApacheLocation/conf/context.xml 中
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
Run Code Online (Sandbox Code Playgroud)
在 $ApacheLocation/conf/server.xml
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
Run Code Online (Sandbox Code Playgroud)
但它对我不起作用。
我将不胜感激任何帮助。
我得到了我的问题的解决方案,我解决了这个问题。
这是我如何解决问题的步骤。
1)在我的angular src文件夹中创建了“WEB-INF/web.xml”,路径如下
Your_Folder/src/WEB-INF/web.xml
Run Code Online (Sandbox Code Playgroud)
2)在web.xml我添加了以下几行,
<web-app>
<error-page>
<error-code>404</error-code>
<location>/index.html</location>
</error-page>
</web-app>
Run Code Online (Sandbox Code Playgroud)
3)angular.json在构建应用程序时将外部文件夹添加到so can中,它将在dist文件夹中可用,
在 angular.json 中
"assets": [ "src/assets","src/favicon.ico","src/WEB-INF" ]
Run Code Online (Sandbox Code Playgroud)
4)使用以下命令构建应用程序,
ng build --prod --base-href=/myApp/
Run Code Online (Sandbox Code Playgroud)
5)dist用base-href名称重命名文件夹
6)复制dist或base-href文件夹并粘贴到
apache-tomcat-8.5.37/webapps
Run Code Online (Sandbox Code Playgroud)
7) 启动 tomcat,即使刷新浏览器,您的应用程序也会运行。
| 归档时间: |
|
| 查看次数: |
3531 次 |
| 最近记录: |