2010-10-06 40 views
3

我有一個頁面發出HTTP重定向。我需要將當前會話ID(jsessionid)附加到HTTP重定向的末尾,以在重定向中將此ID作爲GET參數傳遞。如何將cookie值附加到響應結束位置標題與Apache?

可以mod_headerHeader append指令通過SetEnvIf接收cookie值嗎?

是否應該重寫?但mod_rewrite只是重寫請求而不是響應,是嗎?

您如何解決這個從Apache的角度而不觸及後端代碼?


更新:在Apache的JVM是由兩種mod_jk的或通過IBM HTTP Server連接到WebSphere處理。

+0

你如何連接到你的後端?你使用mod_proxy/mod_jk連接到後端,還是像mod_python/mod_php這樣的內部apache模塊? – ivy 2010-10-06 20:39:46

+0

據我所知,沒有辦法得到一個單一的cookie名稱/值。但是,您可以使用'%{HTTP_COOKIE}'在'RewriteRule'中獲得完整的'Cookie:'字段。請參閱http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond – Lekensteyn 2010-10-06 20:40:18

+0

@Lekensteyn,我只使用重寫來重寫INCOMING請求,它們如何被用來重寫響應頭文件? – Xailor 2010-10-06 20:49:41

回答

7

至於我所知,與Apache httpd的你做這樣的:

SetEnvIf Cookie "mycookie=([^;]+)" MYCOOKIE=$1 
SetEnvIf Cookie "mycookie=([^;]+)" HAVE_MYCOOKIE=1 
Header add Set-Cookie "mycookie=%{MYCOOKIE}e; expires=0" env=HAVE_MYCOOKIE 

您還可以,如果你想添加像路徑和域中的其他cookie的屬性。

+0

這不會將cookie添加到每個傳出響應中嗎? Xepoch只希望它用於重定向類型的響應。 – Abid 2013-06-14 09:51:45

+0

確實,我忽略了這個要求,但是我不知道立即解決這個問題。 – Janoszen 2013-06-16 14:38:55

相關問題