如何在IHS + WAS配置中更改Web模块的根上下文?

时间:2013-09-22 13:35:30

标签: websphere contextpath

我有以下配置:

  • Websphere ND 8.0及其部署的应用程序;
  • IHS(IBM HTTP Server)8.0;
  • Web服务器插件8.0;

所有已部署的应用程序都有一些唯一的根上下文。我需要的是为其中一些更改此根上下文。 例如,我有以下链接 - http//host:port/app1/index.jsp,其中app1是根上下文。我需要通过以下链接http//host:port/cust/app1/index.jsp使其工作。 (如果旧链接在修改后不起作用会更好。)

我试图在没有IHS层的情况下达到此目的。 WAS允许更改根上下文,这很容易。问题是部署的应用程序使用直接映射到其内部资源中的根上下文。 (即某些app1的资源,如JS,HTML ......,包含直接指向/ app1 / ...)。在这种情况下,简单地更改根上下文是不合适的。我需要手动更改所有这些内部资源。我知道这是糟糕的实施,但这就是我所拥有的。这个解决方案绝对不是最好的,但至少它可行。

我需要做同样的事情(好吧,不一样。结果应该是一样的)但现在使用IHS。 我不熟悉IHS安装\配置。以下是我对它是如何工作的理解:

客户端 - > IHS-中的溶液中(应用程序)

IHS通过 mod_was_ap22_http 插件与WAS进行了沟通,其中 plugin-cfg.xml 显示了要处理的网址模板。 (不知道它究竟是如何运作的)

*基本上是Clent发送以下请求 - http//IHS_host:port/app1/index.jsp

* IHS通过mod_was_ap22_http启动请求。

*如果请求与plugin-cfg.xml规则匹配,则转到WAS。

根源上下文一直是 app1 。 是否可以配置IHS以更改原始根上下文,并使客户端仅通过新的根上下文工作?结果用户不应该看到http//IHS_host:port/app1/*,他应该只看到http//IHS_host:port/cust/app1/*

1 个答案:

答案 0 :(得分:1)

您可以使用带有[PT]标志的mod_rewrite在WAS WebServer插件查看请求之前将/ cust / app1更改为/ app1 /:

RewriteEngine on RewriteRule ^ / cust(/ app1 /.*)$ 1 [PT]

http://publib.boulder.ibm.com/httpserv/ihsdiag/plugin_alter_uri.html