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