Jump to content

Problém s loginem při zapnutém mod_rewrite - 1.5.1.0


ender666

Recommended Posts

Ahojte,

 

Pokud zapnu mod_rewrite a nechám prestashop generovat .htaccess soubor, pak nastanou následující problémy:

 

1) uživatel po kliknutí na odhlásit zůstane naoko přihlášen - pomůže refresh ctrl+F5 ve všech browserech

2) na stránce kategorie produktů nelze vložit zboží do košíku - blikne a nic, ani po refresh v košíku není. Na stránkách produktu se do košíku vloží

3) uživatel po přihlášení nevypadá jako přihlášen na všech stránkách - někde je, někde není - pomůže opět ctrl+F5 ve všech browserech

 

Už si docela nevím rady, zkoušel jsem vypínat/zapínat cache v performance, zkoušel jsem totožný web i na jiném hostingu (Datahousing,Endora). Na localhostu mi vše jede jak má :(

 

Pokud mod_rewrite vypnu, je vše ok i na hostingu. Problém má tedy přímou souvislost s mod_rewrite a .htaccess souborem.

 

Pokud si chcete toto podivné chování někdo vyzkoušet, pak

doména: www.ok-pocitace.cz

testovací login: [email protected] / 123456

 

Aktuální generovaný .htaccess soubor:

# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com - http://www.prestashop.com/forums
<IfModule mod_rewrite.c>
# Disable Multiviews
Options -Multiviews
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.ok-pocitace.cz$
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
# Images
RewriteCond %{HTTP_HOST} ^www.ok-pocitace.cz$
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^www.ok-pocitace.cz$
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^www.ok-pocitace.cz$
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteCond %{HTTP_HOST} ^www.ok-pocitace.cz$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteCond %{HTTP_HOST} ^www.ok-pocitace.cz$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteCond %{HTTP_HOST} ^www.ok-pocitace.cz$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteCond %{HTTP_HOST} ^www.ok-pocitace.cz$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteCond %{HTTP_HOST} ^www.ok-pocitace.cz$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
RewriteCond %{HTTP_HOST} ^www.ok-pocitace.cz$
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^www.ok-pocitace.cz$
RewriteRule ^c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_HOST} ^www.ok-pocitace.cz$
RewriteRule ^.*$ - [NC,L]
RewriteCond %{HTTP_HOST} ^www.ok-pocitace.cz$
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
</IfModule>
#If rewrite mod isn't enabled
ErrorDocument 404 /index.php?controller=404
# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again

RewriteCond %{HTTP_HOST} ^ok-pocitace.cz
RewriteRule ^(.*)$ http://www.ok-pocitace.cz/$1 [R=301,L]

 

Ve screenech níže přikládám nastavení SEO, nastavení Performance. Tokeny mám zapnuty. Díky za každý nápad čím by to mohlo být způsobeno.

post-402298-0-91879200-1350042701_thumb.png

post-402298-0-53428800-1350042815_thumb.png

Edited by ender666 (see edit history)
Link to comment
Share on other sites

try redirect domain.com to www.domain.com

 

and dont forget to clear cache browser before try again.

 

Vynx, Isnt it actually part of my .htaccess file? - last two rows:

 

RewriteCond %{HTTP_HOST} ^ok-pocitace.cz

RewriteRule ^(.*)$ http://www.ok-pocitace.cz/$1 [R=301,L]

 

Tried to clean cache by ccleaner, tried access web from another computer. Problem not solved :(

Edited by ender666 (see edit history)
Link to comment
Share on other sites

Tried force compile, tried every possible setting on page performance - cache on/off, smarty optimization on/off, no effect..

Now trying to install fresh presta on hosting, will see. Actual presta was installed on localhost and then copied.

Link to comment
Share on other sites

1) Problém s přihlašováním/odhlašováním vyřešen, ani nevím jak - asi byl opravdu nějaký problém s cache - díky za pomoc všem

 

2) Problém s vkládáním zboží do košíku ze stránky kategorie zboží zatím stále nevyřešen, ani nahrazením classes/cart.php tím z verze 1.5.0.7.

 

dal jsem zkontrolovat prvek a tlačítko vložit do košíku, které nefunguje má tento kod:

<a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_1" href="http://www.ok-pocitace.cz/cart?add%26id_product%3D1%26token%3Dfdf2322e357eaa1201805e5f584dd7d5=" title="Přidat do košíku"><span></span>Přidat do košíku</a>

 

tlačítko na stránce zboží, které funguje má tento kod:

<input type="submit" name="Submit" value="Přidat do košíku" class="exclusive">

Edited by ender666 (see edit history)
Link to comment
Share on other sites

Znám příčinu - je to něco v mém upraveném default template. Nahodil jsem teď original template a přidávání ze stránek kategorie funguje. Neuvědomuji si, že bych upravoval něco co by to mohlo způsobovat, ale pokusím se zjistit čím to vlastně bylo a pokud se mi to povede, tak to sem dám.

 

Moc díky všem za pomoc a omlouvám se, že jsem nevyzkoušel tuto možnost hned :)

 

edit - tak ne, je to furt na hovno s jakoukoli šablonou - někdy vše funguje jak ma, někdy ne a neumím to nasimulovat..

Edited by ender666 (see edit history)
Link to comment
Share on other sites

zdravím, já mám problém s košíkem a mizení produktů

 

vložím produkt do košíku a pokud se na košík přepnu, hlásí se jako prázdný.

AJAX Feature ON/OFF nepomůže

 

IE9 funguje OK, Chrome nikoliv (více verzí)

 

další problém, zjistil jsem že to dělá jen v ostrém provozu (www.kynsport.cz)

v localhostu stejná verze PS 1.5.0.17 funguje, live nefunguje :(

fixnutých věcí ohledně košíku (cart) jsem koukal že je pro 1.5.1 tedy dost...

Edited by lemka (see edit history)
Link to comment
Share on other sites

Příteli tak tohle mi dělá taky, už to fakt neřeším a čekám na fix. Zkoušel jsem to u tebe - ze stránky kategorie nelze vkládat do košíku, to stejné u mne(s ajaxovým mi lze i ze stránky kategorie), ze stránky produktu u tebe jde vkládat do košíku. Pár krát se mi to podělalo tak, že opravdu nebylo vidět nic v košíku, potom pomohlo vymazat cache.. gl.

Link to comment
Share on other sites

zdravím, no mě to zrovna u tebe funguje bez problému :) masakr

 

Tak jsem zkoušel udělat upgrade na 1.5.1 (připravil jsem si obrázky) a na localhostu provedl prekopirovanim souboru a vše ok. pak jsem to nahrál na ostrej server a tak mě to stále ukazovalo 1.5.0.17, nechápu !

 

až když jsem na ostrém serveru provedl oneclickupgrade, tak se v informacích systému začala zobrazovat verze 1.5.1

 

která tedy mě problém s košíkem zdá-se vyřešila

Edited by lemka (see edit history)
Link to comment
Share on other sites

  • 3 weeks later...

Ahoj,

mám taky problém s tím že se mi zákazníci nemohou odhlásit, zkoušel jsem trochu laborovat s cachováním a s force compile ale nic nepomohlo, dokonce jsem v url zkoušel parametr mylougt trochu měnit ale taky nic.

 

Refresh stránky se provede, takže to vykazuje asi jiné chování? tobě to zůstavalo na stránce ?mylogout že?

 

Presta 1.5.0.17

Link to comment
Share on other sites

tak jsem to snad vyřešil, nechápu jak to enderovi mohlo začít fungovat samo od sebe.

 

chyba byla v souboru classes -> controller -> FrontController.php

 

na řádku 182 se volá

$this->context->customer->mylogout();

ale když se podíváta na tu funkci tak je u ni komentář od tvůrců že se to takhle už volat nemá a má být

Customer::mylogout();

 

což teda funguje, takže odhlašování je ok, aspoň co jsem tak testoval :)

 

// EDIT

 

tak jsem přišel na dobrou srandu, přestalo fungovat odhlašování, to jsem řešil výše a pak se nešlo ani přihlásit a dát něco do košíku, takže v tom byly cookies, ale proč najednou přestaly fungovat?

 

A pak jsem to vygooglil, je to tim že

Doména obchodu

v sekci SEO a odkazy musí být bez WWW a pak všechno funguje krásně :)

Edited by biglama (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...

Díky za další info. Rozjíždím teď další shop na 1.5.2.0 a je pravda, že mi to dnes odpoledne po přechodu z localhostu a než jsem vše nastavil blblo a pomohlo až vymazání cookies. Nyní večer už se zase nešlo přihlásit :( - login screen se jen refreshne a nic

 

Nastavil jsem teď web bez www v sekci SEO a odkazy jak píšeš a uvidím, zatím je to ok. Ale ok to už bylo hodně krát a pak se to z ničeho nic vždy podělalo. Ve FrontController.php jsem nic neměnil. Cookies jsem si teď kontroloval a mám je všechny bez www.

 

Jen tip - stačí se mrknout na cookies přes zkontrolovat prvek/resources/cookies (v chromu) a vymazat ty co tam nemají co dělat..

Link to comment
Share on other sites

  • 4 weeks later...

Ok, protože já řeším stejný problém s přihlášením a odhlášením v souvislosti s kešováním stránek. Vždy návštěvník vidí stránku, kterou již navštívil před přihlášením jako by přihlášený nebyl a naopak. Což se mi podařilo vyřešit přidáním do htaccess

 

<IfModule mod_headers.c>
<Files *.php>
   Header set Cache-Control max-age=0
</Files>
</IfModule>

 

nebo kódem, který je zmíněný i zde

ExpiresByType text/html A0

 

Nicméně obojí tohle přidání má vliv na rychlost Presty... což není dobře. Nevím proč, ale na virtuálním serveru XAMPP jsem tyhle problémy neměl, vždy to začne až potom co to přesunu na webhosting. Ty výše uvedené kódy jsou řešením, ale na úkor rychlosti, mám pocit, že to je v něčem jiném a někdo tohle totiž vůbec neřeší, protože mu to funguje jak má.

 

Ty si to nakonec vyřešil teda tim ExpiresByType text/html A0 v htaccessu? Mě se ted načítá stránka v kategoriíích okolo 3-4 sekund s těmito kódy...

Link to comment
Share on other sites

Ahoj, nyní na 1.5.2.0. Mám zapnutou cache i smart cache, tohle ExpiresByType text/html A0 jsem z htaccess zrušil a stejně vše funguje. Můžeš zkusit třeba na tomto mém presta eshopu - chinagifts.eu . Ten problém jsem měl kdysi ještě na verzi 1.5.17.

 

Myslím si, že byla hlavní příčina v cookies s www a bez www a ty dělaly neplechu. Doménu obchodu v seo a url mám nyní bez www.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...