gpt4 book ai didi

regex - Apache http + mod-rewrite 到 Tomcat 以从 url 丢失应用程序子文件夹

转载 作者:行者123 更新时间:2023-11-28 23:32:57 24 4
gpt4 key购买 nike

我正在为我的应用程序使用 Tomcat 服务器,它可以通过 ajp 从 Apache HTTP 访问。

Tomcat服务器上的各个app生成的url,需要通过//control/访问

这看起来像下面的概述:

  • //www.example.com/app1/control/index
  • //www.example.com/app2/control/index
  • //www.example.com/app3/control/index
  • //www.example.com/app3/control/otherurl
  • .
  • //www.example.com/appN/control/index.jsp

虽然这对我来说是可以接受的,但它对用户来说不是很友好,我想通过提供更短的 url 来改进它。正如我所见,/control 或 control/是多余的,因为它会更加用户友好:

  • //www.example.com/app1/index
  • //www.example.com/app2/index
  • //www.example.com/app2/otherurl
  • .
  • .
  • //www.example.com/appN/index

现在,我可以为每个应用执行 proxypass/proxyreversepass,但这是一个繁琐的过程。所以我想通过应用正则表达式来解决它。但我对如何进行 url 重写和 proxypass/proxyreversepass 以使其正常工作感到有些困惑。

你能帮我找到正确的解决方案吗?

最好的问候,

皮埃尔·斯密茨

最佳答案

您要找的是ProxyPassMatch .像这样:

ProxyPassMatch ^/app([0-9]+)/(.*)$ ajp://tomcathost:port/app$1/control/$1

我不完全确定如何处理 ProxyPassReverse,因为没有 ProxyPassReverseMatch。您可能不得不偷懒地使用您的 ProxyPassReverse:

ProxyPassReverse /app ajp://tomcathost:port/app

我不知道以上是否可行。我所知道的是 mod_proxy 不会重写任何页面内容,所以如果您发现页面中的 URL 格式不正确,mod_proxy 帮不了你。相反,您需要查看 mod_proxy_html,它不是 Apache httpd 的一部分(直到 httpd 2.4)。

关于regex - Apache http + mod-rewrite 到 Tomcat 以从 url 丢失应用程序子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28076377/

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