我有两页a.php和b.php。我正在运行我的a.php页面,其网址为 http://www.domain.com/a.php 。这里,页面包含一些会话值。
例如:$ _SESSION ['name'] ='我的名字';
在b.php中我打印会话值以上。如果我使用网址 http://www.domain.com/b.php 访问我的b.php页面,会话值工作正常。
Ex:echo $ _SESSION ['name']; //输出'我的名字';
如果我使用网址 http://domain.com/b.php 访问同一页面,则会话值无效。
EX:echo $ _SESSION ['name']; //没有结果
问题是什么?如何解决这个问题。
答案 0 :(得分:2)
您可以使用session_set_cookie_params()功能
在所有子域上启用会话session_set_cookie_params ( 0, '/' '.domain.com');
答案 1 :(得分:0)
对此有a lot of similar questions,你在发帖前搜索过了吗?)?
总结:
所有这一切 - 如果你只是redirect from www.example.com -> example.com,你甚至可以忽略它,或者反之亦然。
答案 2 :(得分:0)
最好将www.example.com的重定向设置为example.com,反之亦然,以避免重复内容。但是,您可以修改php.ini
以选择所需的域。如果您的主机允许您编辑php.ini,请将其添加到其中:
session.cookie_domain = example.com
如果没有,请在您网站的根目录(通常是.htaccess
或public_html
)创建一个名为htdocs
的文件并添加:
php_value session.cookie_domain example.com
显然,您需要将example.com替换为您网站的域名,而无需使用www或任何其他子域名。