我正在使用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]