Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用url'的不同会话;有www和没有www_Php_Session_Url - Fatal编程技术网

Php 使用url'的不同会话;有www和没有www

Php 使用url'的不同会话;有www和没有www,php,session,url,Php,Session,Url,我有一个有作者的交互式网站。 当作者进入www.mysite.com网站并登录时,会话变量变为 $_SESSION[loggedid]=true; 和网站主题的变化 但是当他进入mysite.com(没有www)时,即使他登录了,他也会看到默认的主题,不能写等等。 我想这是不同的课程,对吗?这取决于我的服务器或浏览器还是什么?如何创建这两个相同的会话或将用户的会话从一个重定向到另一个?将此添加到.htaccess文件: RewriteEngine on RewriteBase / Rewrit

我有一个有作者的交互式网站。 当作者进入www.mysite.com网站并登录时,会话变量变为

$_SESSION[loggedid]=true;
和网站主题的变化

但是当他进入mysite.com(没有www)时,即使他登录了,他也会看到默认的主题,不能写等等。
我想这是不同的课程,对吗?这取决于我的服务器或浏览器还是什么?如何创建这两个相同的会话或将用户的会话从一个重定向到另一个?

将此添加到.htaccess文件:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^mysite\.com
RewriteRule ^(.*)$ http://www.mysite.com$1 [R=permanent,L]
使用以下命令: 要将域设置为与所有子域匹配,请执行以下操作:

session_set_cookie_params($lifetime, '/', '.domain.com');
您需要在调用会话_start()之前使用它

您可以使用直接取自上面链接的代码示例,该示例允许您保留除域之外的所有当前设置:

$currentCookieParams = session_get_cookie_params(); 

$rootDomain = '.example.com'; 

session_set_cookie_params( 
    $currentCookieParams["lifetime"], 
    $currentCookieParams["path"], 
    $rootDomain, 
    $currentCookieParams["secure"], 
    $currentCookieParams["httponly"] 
); 

session_name('mysessionname'); 
session_start(); 
将您的设置为域
.yourdomainname.tld
,注意起始点(

php.ini指令

试用

session_set_cookie_params(0, '/', '.yourdomain.com');
前导点表示会话将影响每个域。要注意苏霍辛!有时它会限制此功能

这是一条规则

^(.*)$http://www.mysite.com/$1[R=永久,L]

而不是

$1[R=永久,L]


如果您在php.ini中添加
.com$1[R=permanent,L]
,然后尝试mysite.com/index.php?id=934,它会将您重定向到mysite.comindex.php/?id934

为什么会投反对票?这是一个完全合法的解决方案,被广泛使用。OP说“…或者将用户的权限从一个重定向到一个?”没有评论的向下投票?强制执行一个特定的域解决了这个问题,实际上有助于seo!这些行不仅解决了问题,而且在任何情况下都会将mysite.com重定向到www.mysite.com。如果您刚刚编辑了答案,那么在中找到更干净的解决方案会占用您更少的时间,对每个人都更有帮助。
session_set_cookie_params(0, '/', '.yourdomain.com');