我使用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