У меня есть приложение в mydomain.com. Я хочу, чтобы пользователь был перенаправлен на example.mydomain.com при входе в mydomain.com , однако сеанс успешно генерируется в каталоге в example.mydomain.com . Теперь моя проблема после отправки логина, пользователи не могут войти в example.mydomain.com . Хотя есть файлы сеанса, доступны.
Драйвер сеанса – файл (файл конфигурации mydoman.com)
$config['sess_driver'] = 'files'; $config['sess_cookie_name'] = 'ci_session'; $config['sess_expiration'] = 0; $config['sess_save_path'] = 'mydir/application/session_data'; $config['sess_match_ip'] = FALSE; $config['sess_time_to_update'] = 0; $config['sess_regenerate_destroy'] = FALSE;
Мое приложение отлично работает на локальном сервере. Но не работает в производстве.
Вы также должны установить cookie_domain
и cookie prefix
в вашем файле конфигурации, как это
$config['cookie_prefix'] = "mydomain_"; $config['cookie_domain'] = ".mydomain.com"; $config['cookie_path'] = "/"; $config['cookie_secure'] = FALSE;
Вы должны иметь это в действии входа:
session_set_cookie_params ($ cookieParams ["lifetime"], $ cookieParams ["path"], $ rootDomain, $ secure, $ httponly) или что-то подобное.
Дело в том, как установить $ rootDomain. Например, у вас есть example.com как основной домен. И что вам нужно сделать:
Теперь о session_name () основного и дополнительного домена:
Если они разные, сеанс, созданный из основного домена, отображается для поддомена, но не наоборот. Выход из системы возможен только из основного домена, но не из поддомена.
Если они одинаковы, сеанс, созданный из основного домена, отображается для поддомена и наоборот. Выход из системы может быть выполнен из основного или поддомена.