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

时间:2016-09-13 11:05:02

标签: angularjs tomcat

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

首先在localhost:8080/projectName/

上运行

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

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

比一切正常,但URl附带/#/

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

任何人都有解决方案吗?

1 个答案:

答案 0 :(得分:11)

我在this article

的帮助下找到了解决方案
  1. 添加 /opt/tomcat/conf/context.xml

     <!-- REWRITE VALVE -->
     <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
     <!-- // -->  
    
  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]
    
  3. 希望它可以帮助某人