У меня есть домен, скажем, http://www.testexample.com . Когда я заходил на сайт http://www.testexample.com и возвращаюсь к http://testexample.com в браузере; зарегистрированная информация пользователя не отображается.
Я знаю, что оба вышеупомянутых обработаны по-разному и, следовательно, не сохраняют сеанс для http://www.testexample.com при доступе к http://testexample.com .
Пожалуйста, дайте мне знать, если у cakephp есть способ сделать матч на TLD. Поэтому всякий раз, когда я набираю http://testexample.com, он должен заняться сессией для http://www.testexample.com
Я использую следующий код для перенаправления с одного URL на другой
RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ps6309 [NC] RewriteRule ps6309.domain.co.in [L,R=301]
это на моей локальной тестовой машине. Это работает иногда, а иногда и нет.
Также я добавил директиву rewritelog в файл httpd.conf. Но файл журнала не обновляется. Пожалуйста, дайте мне знать, есть ли у кого-нибудь указания на это.
Используйте .htaccess для перенаправления всех http://domain.com -> http://www.domain.com
RewriteCond %{HTTP_HOST} !^www\.domain\.com RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L]
Задайте домен для файла cookie как testexample.com, затем он может быть доступен для разных доменов, а также не беспокоиться о www.
Если у вас много проектов и вы не хотите жестко переписывать свое доменное имя на .htaccess снова и снова, попробуйте этот код:
RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]
это перенаправит не-www к www. Пока вы используете cakephp, поместите его на свой .htaccess, который находится в /webroot
Попробуйте ini_set('session.cookie_domain', $domain);
(задокументировано как ini_set session.cookie_domain и session_set_cookie_params()
), где $ domain – ваше доменное имя с префиксом a .
, Итак, используя домен example.com (per rfc 2606 ), вы должны использовать:
ini_set('session.cookie_domain', '.example.com');
Обратите внимание, что это не специальное решение CakePHP – просмотр кода для CakeSession , session.cookie_domain
никогда не устанавливается, а это означает, что он падает до значения по умолчанию. Наполнение этой строки в вашем app/config/bootstrap.php
или app/config/core.php
должно сделать это за вас.