Diskuze: SESSION ztrácí hodnotu
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, už přicházím na řešení.. Problém je evidentně v HTTPS. V rámci .htaccess mám nastaveno přesměrování všeho na .https plus nice URLs a asi zde mám někde chybu. $_SESSION totiž funguje v externím odkazu na doménu jen tehdy, pokud ji zadám ve tvaru bez www a bez http. takže pokud zadám "domena.cz/o-nas", tak se SESSION ukáže a pokud zadám cokoli jiného, tak ne - např. www.domena.cz/o-nas či https://www.domena.cz/o-nas. V .htaccessu mám toto: Kde mám chybu?
RewriteEngine On
# all redirection HTTP -> HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
ReWriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
V HTTPS jako takovém by problém být neměl. Nevím, jak máš v PHP nastavené cookies a session, ale ve výchozím nastavení se PHPSESSID ukládá pouze pro aktuální subdoménu tj. verze s www a bez www mají session oddělený. Pokud není problém ještě někde jinde, tak by ale varianta s https a bez www měla také fungovat, tj. https://domena.cz/o-nas
Osobně bez ohledu na tento problém doporučuji si vždy vybrat pouze jednu variantu, držet se jí a tu druhou na ni přesměrovat. Já vždy používám variantu s www.
Zobrazeno 3 zpráv z 3.