2011-07-22 24 views
10

我有一个交互式网站,有作者。 当笔者进入www.mysite.com上的网站,登录,会话varible变得不同会话与网址与-www和无-www

$_SESSION[loggedid]=true; 

和网站主题的变化。

但是,当他进入mysite.com(没有www的),即使他登录,他看到的默认主题,不能写等 我认为他们是不同的会议,我是对吗?它取决于我的服务器还是浏览器或什么?我如何使这2,相同的会议或重定向用户从一个到另一个?

回答

13

添加到您的.htaccess文件:

RewriteEngine on 
RewriteBase/
RewriteCond %{HTTP_HOST} ^mysite\.com 
RewriteRule ^(.*)$ http://www.mysite.com$1 [R=permanent,L] 
+0

为什么downvote ?这是一个完全合法的解决方案并被广泛使用。 OP说:“...或将用户从一个重定向到一个?” – AlienWebguy

+3

Downvote无评论?实施特定的域名可以解决问题,实际上可以帮助SEO! –

+0

这些行不仅可以解决问题,还可以在任何情况下将mysite.com重定向到www.mysite.com。 – erdomester

1

使用此:http://ca3.php.net/session_set_cookie_params 要设置为匹配所有子域为此域:

session_set_cookie_params($lifetime, '/', '.domain.com'); 

你需要调用之前使用在session_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(); 
0
session.cookie_domain = 

php.ini指令使用

session_set_cookie_params(0, '/', '.yourdomain.com'); 

是领先的圆点表示会议将影响到每一个领域

尝试。注意SUHOSHIN!有时它限制了这个功能!

5

这是重写规则

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

,而不是

$1 [R=permanent,L]

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