Другая сессия с URL-адресом с www и без-www

У меня есть интерактивный веб-сайт с авторами. Когда автор входит на сайт на www.mysite.com и входит в систему, переменная сеанса становится

$_SESSION[loggedid]=true;

и изменения темы сайта.

Но когда он входит в mysite.com(без www), даже он вошел в систему, он видит тему по умолчанию, не может писать и т.д. Я думаю, что они разные сессии, я прав? Это зависит от моего сервера или браузера, или что? Как я могу сделать это 2, одни и те же сеансы или перенаправить пользователя от одного к одному?

Ответ 1

Добавьте это в ваш .htaccess файл:

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

Ответ 2

Это RewriteRule

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

а не

$1 [R=permanent,L].

Если вы добавите .com$1 [R=permanent,L] в php.ini и попробуете mysite.com/index.php?id=934, он перенаправляет вас на mysite.comindex.php/? id934

Ответ 3

Используйте это: 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(); 

Ответ 4

Установите session.cookie_path в домен .yourdomainname.tld, обратите внимание на стартовую точку (.).

Ответ 5

session.cookie_domain =

директива php.ini

попробуйте использовать

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

что ведущая точка означает, что сеанс повлияет на каждый домен. Помните SUHOSHIN! Иногда это ограничивает эту функцию!