2011-01-27 5 views
1

Я отлаживаю регистрацию входа в систему, когда я нахожусь на сайте www.domainname.com, сессия будет установлена ​​только с www.Вход в PHP-сессию для URL с www и без www?

Когда я собираюсь URL-адрес домена, вход в сеанс игнорируется, и мне будет предложено снова войти в систему.

У меня также установлен сеанс cookie_domain, но не работает.

Любой может мне помочь? Зачем?

+0

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

ответ

0

Я настоятельно рекомендую перенаправить пользователей на каноническую версию сайта (возможно, на сайт www.example.com). Посмотрите вокруг, вы заметите, что большинство сайтов делают именно это для согласованности (включая SO, посмотрите, что произойдет, когда вы перейдете на www.stackoverflow.com).

1

Я знаю, что этот вопрос так же стара, как «Кто пришел первым? Яйцо или курица?»

У меня было много проблем по этой проблеме. Но ... если вы используете PHP, я нашел решение:

В вашем входа вставки скрипта в первой строке

<?php 
session_set_cookie_params(0, '/', 'www.yourdomain.com'); 
session_start() 
?> 

или вы можете попробовать yoursubdomain.yourdomain.comwww.yourdomain.com вместо.

Это работает для меня. Надеюсь, это поможет другим пользователям.

0

Вы пробовали настройки домена сеанса «.example.com» ?:

$lifetime = 0; 
$path = '/'; 
$domain = '.yourdomain.com'; 
session_set_cookie_params($lifetime, $path, $domain); 

обратите внимание на точку в начале переменной $domain строки.

Проверьте ссылку на функцию here.

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