tomcat apache 8.5.4中的angular html5mode在页面刷新时给出了404

diE*_*cho 4 tomcat angularjs

我使用gulp-war创建war文件并将其部署到我的系统上的tomcat apache server 8.5.4中

它首先运行 localhost:8080/projectName/

但每当我刷新页面时,都会出现404错误.如何解决这个问题?

如果我$locationProvider.html5Mode(true);从配置文件中删除而不是创建war文件而不是工作正常

一切正常,但URl随之而来 /#/

我尝试添加.htaccess文件,但没有区别

有人有解决方案吗?

diE*_*cho 12

我在本文的帮助下找到了解决方案

  1. 添加/opt/tomcat/conf/context.xml

     <!-- REWRITE VALVE -->
     <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
     <!-- // -->  
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在特定项目WEB-INF文件夹中添加rewite.config文件,内容如下/opt/tomcat/webapps/projectName/WEB-INF/rewrite.config

    RewriteCond %{REQUEST_URI} !^.*\.(bmp|css|gif|htc|html?|ico|jpe?g|js|pdf|png|swf|txt|xml|svg|eot|woff|woff2|ttf|map)$
    RewriteRule ^(.*)$ /index.html [L]
    
    Run Code Online (Sandbox Code Playgroud)

希望它可以帮到某人