我想知道如何在同一个域 www.mysite.com 上的我的非 wordpress 网站和我的 wordpress 博客之间共享 session ,以便当用户登录我的网站时,他也登录了该博客

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

在我的主站点中的 user_login.php 上,我激活了



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



但是什么也没发生,当我登录到我的主站点时,我仍然需要登录到博客

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

session_start();

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

但是什么也没发生,当我登录到我的主站点时,我仍然需要登录到博客

最佳答案

为了能够在两个站点之间共享 session cookie,它们必须在相同的域名下运行(例如 mysite.com)。如果 session cookie 的范围为 mysite.com,则以下将是有效的配置

www.mysite.com
blog.mysite.com

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

[编辑]

我还应该指出,拥有你的两个 sub-domains (sites) hosted on different servers 是完全有效的

[编辑]

由于您使用的是非 WP 站点,因此很难为您的问题提供简洁的答案。我对你最好的建议是在 WordPress StackExchange 上发帖,在那里你可能会找到以前做过这个配置的人。

我相信您的问题集中在 WP 的 Cookie 范围上。 Editing your wp-config.php and setting the COOKIE_DOMAIN 使用 ""可能有助于解决 this WordPress StackExchange post 提到的问题。

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

我确实遇到过关于 Multisite Domain Mapping 的另一篇文章,它可能对您的知识有所帮助,但这仅涉及 WP 站点,因此不完全是您所需要的。

关于wordpress - 在我的网站和 wordpress 博客之间共享 session ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11358569/

10-11 22:19
查看更多