通过 apache AJP 连接器重写 tomcat 的 URL

通过 apache AJP 连接器重写 tomcat 的 URL

我曾多次尝试解决这个问题,但都无果。

目前,我已将 apache 设置为将标签处的所有 URL 转发到 tomcat。不幸的是,tomcat 通过(子目录,而不是部署我的 war 的根目录)/portal/接收这些请求。/portal/appNamewebappswebapps

有没有我没看到的简单解决方案?我一直尝试使用 mod_rewrite,^/portal/ $ /但没有得到预期的结果(也许我做错了?)。

答案1

使用 mod_jk 你会想做这样的事情:-

RewriteEngine On
RewriteRule ^/(.*)$ /portal/$1 [PT]

需要 PT 标志,以便它能够通过并命中 JkMount 内容。这将重写所有内容以转到 tomcat 中的门户上下文,如果 tomcat 中只有一个应用程序,这很好,但如果您开始添加其他上下文,则需要添加 RewriteCond。有关完整的 mod_rewrite 文档,请查看:-http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule

您还需要将其添加到您的 mod_jk 配置中

JkOptions     +ForwardURICompat

与 Apache 中的所有事物一样,在弄清楚发生了什么的同时,日志记录是你的朋友:-

RewriteLog "/var/log/apache2/rewrite.log" 
RewriteLogLevel debug

相关内容