2010-10-07 190 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

希望這可以幫助任何人!