gpt4 book ai didi

java - 如何通过 mod_rewrite 将请求传递给 mod_jk 并剥离应用程序上下文,让 tomcat 5.5 在 apache 2 后面运行?

转载 作者:行者123 更新时间:2023-11-30 12:01:46 25 4
gpt4 key购买 nike

好的,所以我想让一个在 tomcat (5.5) 中运行的 Web 应用程序在 apache 2(准确地说是 2.2.3)后面运行,从站点的根目录(即没有上下文)提供服务,并提供静态内容通过 apache。

因此,如果应用程序在 tomcat 上的“/myapp”下运行,我想使用 apache(加上 mod_rewrite)使其表现得就像在“/"代替。

Mod_jk 已设置并且工作正常。我可以从“/myapp”访问该应用程序,但我无法完全正常工作。下面是我为 mod_rewrite 准备的配置,用于尝试让它正常工作。它正确地重写了 /static/ url 以让 apache 从解压的 webapp 为它们提供服务,如果我启用重写日志,我看到它确实尝试将所有其他请求传递给 /myapp 通过 mod_jk。然而,mod_jk 之后似乎没有处理请求。


JkMount /myapp/* worker1

RewriteEngine On

# ensure static stuff gets served by apache
RewriteRule ^/static/(.*)$ /var/lib/tomcat5.5/webapps/myapp/static/$1 [L]
# everything else should go through tomcat
RewriteRule ^/(.*)$ /myapp/$1 [L,PT]

过去,当我使用 apache 1 完成此操作时,我必须确保 mod_jkmod_rewrite 之前加载,但我似乎无法实现这在 apache 2 下。有什么想法吗?其他人通常怎么做?

最佳答案

最终设法使它正常工作。看来我需要将 JkOption 设置为:


JkOptions +ForwardURICompat

然后 mod_jk 查看重写的 URL。必须承认不能 100% 确定为什么会这样,但我相信它正在恢复到旧的行为形式。如果有人能告诉我更好/更正确的方法,我很想知道。

关于java - 如何通过 mod_rewrite 将请求传递给 mod_jk 并剥离应用程序上下文,让 tomcat 5.5 在 apache 2 后面运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/208261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com