2017-01-26 3 views
0

После успешного входа в систему я установил сеанс PHP. Он работает правильно, но проблема возникает, когда пользователь переходит с «www.example.com» на «example.com».Сессия PHP не работает между www и not-www

Похоже, сессия не зарегистрирована.

Это, как я установил сеанс:

session_start(); 
$_SESSION['user'] = $username; 
$_SESSION['email'] = 'email'; 

есть в любом случае для обеспечения работы сеанса в обоих URL-адресов? Будет хорошо избегать перенаправления.

EDIT:

Я пытаюсь с этим, но безуспешно.

ini_set('session.cookie_domain', '.domain.com'); 
session_set_cookie_params(0, '/', '.domain.com'); 
session_start(); 
$_SESSION['user'] = $username; 
$_SESSION['email'] = 'email'; 
+0

Как вы настраиваете свои сеансы? Нам нужно увидеть какой-то код. – Option

+2

Отметьте [this] (http://stackoverflow.com/a/21971329/6140684) out –

+0

Как указывает @AntonisTsimourtos, домены, несмотря на наличие одного и того же контента, - это не то же самое "физическое " место. Вам необходимо настроить домен cookie или перенаправить всех к одному или другому. Большинство веб-сайтов перенаправляются на один домен, поэтому www или не-www. – Thomas

ответ

0

Набор PHP INI вариант

session.cookie_domain

например,

session.cookie_domain=.example.com 

Вы должны префикс с ., чтобы убедиться, что он работает на все субдомены, а также.

+0

Проверьте код. –

+0

Я поддерживаю свой ответ. – apokryfos

+0

Проверьте мое редактирование, это правильный путь? –

Смежные вопросы