2015-11-27 4 views
0

Juste узнал, что каждый раз, когда мой url перезаписывается через .htaccess CakePhp инициализирует новый сеанс для моего пользователя.Session lost on htaccess rewrite

Вот мое содержание Htaccess:

<IfModule mod_rewrite.c>  
RewriteCond %{REQUEST_URI} !^/Campagne(.+)Virale/ [NC] 
RewriteRule ^(.*)$ Campagne\ Virale/$1 [L,NE] 
</IfModule> 

Мои настройки сессии являются следующие:

'Session' => [ 
    'defaults' => 'cake', 
    'timeout' => 6000, 
    'ini' => [ 
     'session.cookie_secure' => false 
    ] 
], 

Поэтому при доступе к https://exemple.com/ новый сеанс создается в то время как https://exemple.com/Campagne%20Virale/ работает просто отлично.

Любая идея, почему? Спасибо за ваше время.

ответ

0

Хорошо, проблема, как я понимаю, заключалась в том, что путь к пешеходной базе Cakephp такой же, как базовый путь. Таким образом, исходные и переписанные базовые пути, похоже, различаются, что приводит к созданию нового сеанса.

Чтобы устранить эту проблему, я указал путь базового печенья в моем app.php

'Session' => [ 
    'defaults' => 'cake', 
    'ini' => [ 
     'session.cookie_path' => '/', 
     'session.cookie_domain' => 'exemple.com' 
    ] 
], 

Если у вас есть лучшее объяснение этой проблемы, не стесняйтесь отвечать ради потомства.