У меня есть интерактивный веб-сайт с авторами. Когда автор входит в сайт на www.mysite.com и регистрируется, сеансовый вариант становится
$_SESSION[loggedid]=true;
и изменения сайта-темы.
Но когда он входит в mysite.com (без www), даже он вошел в систему, он видит тему по умолчанию, не может писать и т. Д. Я думаю, что они разные сессии, правда? Это зависит от моего сервера или браузера, или что? Как я могу сделать это 2, одни и те же сеансы или перенаправить пользователя от одного к одному?
Добавьте это в ваш .htaccess файл:
RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} ^mysite\.com RewriteRule ^(.*)$ http://www.mysite.com$1 [R=permanent,L]
Это 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
Используйте это: 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();
Задайте свой session.cookie_path
для домена. .yourdomainname.tld
, обратите внимание на стартовую точку ( .
).
session.cookie_domain =
Директива php.ini
попробуйте использовать
session_set_cookie_params(0, '/', '.yourdomain.com');
что ведущая точка означает, что сеанс повлияет на каждый домен. Помните SUHOSHIN! Иногда это ограничивает эту функцию!