如何解决Tomcat 重写 Valve 正在客户端应用程序中创建一个循环
我有一个在 tomcat 中运行的带有历史模式的 Vue SPA。 为了解决 404 路由问题,我已将此代码添加到 tomcat 中的 ~/conf/server.xml 文件中:
...
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
...
</Host>
...
并且我已将此代码添加到我的 ~/Catalina/localhost/rewrite.config 文件中:(顺便说一句,我在不同的容器中有 6 个 api,我认为它们可能是造成问题的原因?)
RewriteRule ^/api1/ - [L,NC]
RewriteRule ^/api2/ - [L,NC]
RewriteRule ^/api3/ - [L,NC]
RewriteRule ^/api4/ - [L,NC]
RewriteRule ^/api5/ - [L,NC]
RewriteRule ^/api6/ - [L,NC]
RewriteCond %{REQUEST_PATH} !-f
RewriteRule ^/(.*) /index.html
我已经重新启动了我的服务器,但我的数组中仍然出现无限循环,这些数组是从我的 api 填充的。 如果我删除 rewrite.config,则问题不存在。 但是后来我再次收到404错误.. 有什么想法吗?
解决方法
通过在 rewrite.config 文件中更改此代码解决了此问题。
RewriteRule ^/myapi1/.* - [L,NC]
RewriteRule ^/myapi2/.* - [L,NC]
RewriteRule ^/myapi3/.* - [L,NC]
RewriteRule ^/myapi4/.* - [L,NC]
RewriteRule ^/myapi5/.* - [L,NC]
RewriteRule ^/host-manager/.* - [L,NC]
RewriteRule ^/manager/.* - [L,NC]
RewriteCond %{REQUEST_PATH} !-f
RewriteRule ^/(.*) /index.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。