我使用PHP進行編程。如何在從一個子域重定向到另一個子域時保留會話信息?
我想重定向HT TPS://abc.example.com/blah1/blah2到HTT PS:// w^ ww.example.com/blah1/blah2,但我不希望重定向HTT PS://abc.example.com重定向到HT TPS:// WW w.example.com
是否有可能同時保持整個重定向會話信息?
謝謝。
我使用PHP進行編程。如何在從一個子域重定向到另一個子域時保留會話信息?
我想重定向HT TPS://abc.example.com/blah1/blah2到HTT PS:// w^ ww.example.com/blah1/blah2,但我不希望重定向HTT PS://abc.example.com重定向到HT TPS:// WW w.example.com
是否有可能同時保持整個重定向會話信息?
謝謝。
您現在可以繼續使用重定向,但可以調整session.cookie_domain
以使用頂級域(例如example.com)。您可以在您的php.ini文件中使用session_set_cookie_params
或設置session.cookie_domain
(或php_value
指令後的.htaccess文件中)。這應該允許您的會話信息在您網站的所有子域中保留。
如果您使用cookie作爲會話ID,那麼您需要爲常用域設置cookie。如果您正在使用www.example.com
和foobar
.example.com
,你需要設置cookie爲example.com
有它適用於這兩個www.example.com
和foobar
.example.com
。
如果你可以使用Apache的重定向你可以嘗試
RedirectMatch /(.+) https://www.domain.com/$1
用PHP這將是
<?php
if ($_SERVER['REQUEST_URI'] != "/") {
header("Location: ".$_SERVER['REQUEST_URI']);
exit;
}
?>
關於會話被無效,像濃湯說,有主域名發佈Cookie而不是具體的。
`REQUEST_URI` *從不*空。它總是以至少`/`開始。 – Gumbo 2009-07-14 20:07:07
我想說,你可以通過張貼(POST)你的sessionid到一個新的域名來重定向,並使用你自己的會話處理程序將你的會話數據存儲在mysql中。
我希望我正確編輯了這個問題。 – 2009-07-14 20:32:22
謝謝。這就是我想要的。我只是不能發佈鏈接作爲新客戶-_- – 2009-07-16 17:16:03