在我的网站和wordpress博客之间分享会话

时间:2012-07-06 08:27:26

标签: wordpress session login

我想知道如何在同一个域www.mysite.com上分享我的网站non-wordpress和我的wordpress博客之间的会话,这样当用户登录我的网站时,他也登录了博客

我在我的网站上安装了wordpress作为子目录,我网站的网址是www.mysite.com,我访问wordpress就像这样www.mysite.com/wordpressBlog

在我的主网站上的user_login.php中,我已激活

  

在session_start();

激活cookie并在我的wordpress上wp_unregister_GLOBALS()我添加了

  

$ no_unset = array('_SESSION',...

但没有任何反应,当我登录我的主站点时,我仍然需要登录博客

事实上,我的网站和wordpress博客在同一个域上。我在我的网站上安装了wordpress作为子目录url我的网站是www.mysite.com我访问wordpress就像这样www.mysite.com/wordpressBlog在我的主网站上的user_login.php中我激活了

session_start();

激活cookie并在我的wordpress上wp_unregister_GLOBALS()我添加了$ no_unset = array('_SESSION',...

但没有任何反应,当我登录我的主站点时,我仍然需要登录博客

1 个答案:

答案 0 :(得分:3)

为了能够在两个站点之间共享会话cookie,它们必须在相同的域名下运行(例如mysite.com)。如果会话cookie的范围为mysite.com

,则以下是有效配置
www.mysite.com
blog.mysite.com

PS。我不建议使用Cross Scripting hacks来解决这个域范围问题。出于安全原因,它仅限于域名。

[编辑]

我还应该指出,拥有两个sub-domains (sites) hosted on different servers

是完全有效的

[编辑]

由于您使用的是非WP网站,因此很难为您的问题提供简洁的答案。我最好的建议是在WordPress StackExchange张贴你可能会得到之前完成此配置的人。

我相信您的问题集中在您的Cookie的范围内。 Editing your wp-config.php and setting the COOKIE_DOMAIN使用“{}可以帮助解决this WordPress StackExchange post提及的问题。

有些帖子谈到完全删除此设置。在任何情况下,您都需要一种方法来调试HTTP会话以查看使用哪个范围发送的cookie,这就是我推荐FireBug的原因。在任何情况下,您仍然需要重新编码非WP网站以识别WP cookie,因此了解正在发生的事情非常重要。

我确实遇到了关于Multisite Domain Mapping的其他帖子,这可能有助于您的知识,但这只涉及WP网站,所以不完全是您需要的。