使用AngularJS的Tomcat重写规则在浏览器刷新时提供404

时间:2017-02-12 14:50:41

标签: angularjs tomcat redirect url-rewriting routing

我正在使用Tomcat 8.5.11运行REST端点和AngularJS。 REST端点有/api作为url,然而,AngularJS是多个url(显然)。 当我复制并粘贴或在浏览器上刷新网址时(例如localhost/user)。我收到404回复。

我想要做的是告诉Tomcat让目录请求通过。

当我在docs中提到的rewrite.config文件中使用以下规则.-

RewriteCond %{REQUEST_FILENAME} -d 

我收到例外java.lang.IllegalArgumentException The resource path [null] is not valid

当我使用以下规则时,一切正常 -

RewriteCond %{REQUEST_URI} ^\/(user)*$

我想要一个通用的解决方案,我不需要在rewrite.config文件中添加所有AngularJS路由,而是通用的。

rewrite.config文件中的完整条目如下 -

# UI Folders
RewriteCond %{REQUEST_URI} ^\/(fonts|icons|img)\/*$ [OR]
# UI files
RewriteCond %{REQUEST_URI} ^\/*\.(css|js)$ [OR]
# UI routes
RewriteCond %{REQUEST_FILENAME} -d [OR] <-- Fails
# REST
RewriteCond %{REQUEST_URI} ^\/(api)\/*$

RewriteRule (.*) /index.html [NC,L,QSA] 

0 个答案:

没有答案