Www и не www сайты - PullRequest
       1

Www и не www сайты

5 голосов
/ 28 октября 2010

У меня есть домен, скажем 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.Но файл журнала не обновляется.Пожалуйста, дайте мне знать, если у кого-нибудь есть указания на это.

Ответы [ 4 ]

5 голосов
/ 28 октября 2010

Используйте .htaccess для перенаправления всех http://domain.com -> http://www.domain.com

RewriteCond %{HTTP_HOST} !^www\.domain\.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L]
4 голосов
/ 28 октября 2010

Установите домен для файла cookie как testexample.com, тогда он может быть разделен между поддоменами, а также не беспокоиться о www.

3 голосов
/ 14 мая 2011

Если у вас много проектов, и вы не хотите снова и снова жестко кодировать свое доменное имя в .htaccess, попробуйте этот код:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

, это перенаправит не-www на www.Пока вы используете cakephp, поместите его в свой .htaccess, который находится по адресу /webroot

0 голосов
/ 30 октября 2010

Попробуйте ini_set('session.cookie_domain', $domain); (задокументировано как ini_set session.cookie_domain и session_set_cookie_params()), где $ domain - это имя вашего домена с префиксом .. Итак, используя домен example.com (за rfc 2606 ), вы будете использовать:

ini_set('session.cookie_domain', '.example.com');

Обратите внимание, что это не специальное решение для CakePHP - глядя на код для CakeSession , session.cookie_domain никогда не устанавливается, что означает, что оно падает до значения по умолчанию. Заполнение этой строки в вашем app/config/bootstrap.php или app/config/core.php должно сделать это за вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...