2010-10-07 125 views
0

我拥有的设置如下:mod_rewrite和服务器环境变量

我有一个充当URL重写引擎(SERVER1)的Apache服务器。

我有第二台服务器(Apache也是),它运行一个Web应用程序(SERVER2)。首先尝试认证用户。部分身份验证协议涉及应用程序服务器和身份验证服务器之间的大量重定向。

我的问题是,一旦验证成功,验证服务器需要将用户重定向回应用服务器,该服务器只能从SERVER1中看到。实际上,SERVER2需要能够根据SERVER1的参数重建URL。

大多数environement变量是有帮助的,即我所知道的主机名,脚本名称,页面调用ETCC,但我可以“吨找出羯羊呼叫是通过由HTTP或HTTPS:这些信息在改写过程消灭SERVER1 ...

任何人都知道我是否能够通过环境变量获取该信息?我受限于我无法使用查询字符串参数...

谢谢大家!

回答

1

这听起来很奇怪,但我发现我的问题的答案的一部分。

重写引擎(至少在Apache 2中,我没有看过其他地方)允许写入额外的请求头。

该规则应该看起来像这样。

重写规则* - 。[E = INFO_PATH_INFO:%{PATH_INFO},NE]

把简单,它创建一个名为INFO_PATH_INFO新的报头和将值设置为PATH_INFO。 (欲了解更多信息,请查看http://www.askapache.com/htaccess/crazy-advanced-mod_rewrite-tutorial.html

然后它可以用任何语言检索。 有关信息,我正在使用Oracle的OWA,由于默认的环境变量仅限于几个和其他变量需要在thr dads中指定,添加了额外的一层复杂化.conf

希望这可以帮助任何人!