Autor Zpráva
Jdinaparek
Profil *
Zdravím,
mám problém s jednou stránkou. Před pár hodinami jsem na FTP server nahrál nové soubory (čili kompletně nový obsah), ale zobrazovali se mi stále staré soubory (i po pár hodinách po nahrání nových). Po smazání historie prohlížeče vše fungovalo. Ovšem každému, kdo stránky v minulosti navštívil, se ukazuje starý obsah. Mohu to nějak vyřešit, nebo musím doufat, že si každý smaže historii prohlížeče? Předem děkuji za odpověď
Joker
Profil
Jdinaparek:
Ovšem každému, kdo stránky v minulosti navštívil, se ukazuje starý obsah.
To by se nemělo stávat, protože změní-li se obsah, měly by prohlížeče vždy aktualizovat stránku.
Pokud se toto děje více návštěvníkům, může být na vině špatně nastavený server. Může třeba stránku poslat s datem expirace v příliš vzdálené budoucnosti (třeba za rok), takže prohlížeč se nedívá na nové verze stránky. Případně může prohlížeč chybně informovat o tom, jestli a kdy byla stránka aktualizovaná.
Viz hlavičky expires a last-modified.

Jinak nejbezpečnější je pojmenovat nový obsah jinak než ten starý.
Popřípadě dodat nějaký GET parametr, což funguje třeba i pro kaskádové styly a obrázky.
Například když je na stránce:
<img src="obrazek.jpg" alt="Můj obrázek">
a daný soubor je aktualizován, změnou třeba na:
<img src="obrazek.jpg?verze=2" alt="Můj obrázek">
si všechny prohlížeče stáhnou novou verzi a přesto název souboru na webu může zůstat stejný.
Ale nejdřív by se měl správně nastavit server a potom kdyžtak použít tohle jako řešení problému, že někteří návštěvníci už mají v cache starou verzi s datem expirace bůhví kdy.
peta
Profil
* Cache FF prohlizece se da smazat pres Nastroje - Vymazat nedavnou historii.
* Inet cache pc se sa ve win smazat pres prikaz ipconfig /flushdns. Mel bys mit pri tom zavrene vsechna okna prohlizecu.
* IE ma chybne resene kesovani. Musel bys zmenit default nastaveni trochu jinak.
* Server muze mit vlastni cache, fyzickou nebo virtualni. Tam muze byt trvanlivost treba 10 minut. Par hodin by bylo nezvykle.
* Redakcni systemy maji vlastni kes. Coz je obvykle vyhoda.
* U php programu se da natavit expiracni doba podobne jako html metatagem pomoci header();
http://cz2.php.net/manual/en/function.header.php
* Mym uzivatelum vzdy rikam, ze maji do nazvu souboru, ktery nahravaji pomoci cms na web, pridavat na konec datum. Jiny soubor, nema co cacheova, stahuje znovu.
* K odkazu souboru se da pripojit nahodne cislo za otaznik. Protoze je nahodne, nemelo by se shodovat z predchozi strankou, pokud nepouzije zpet a vpred tlacitko v prohlizeci.
stahuj.php?soubor=obrazek.jpg&06843742
soubor.doc?06843742 // to by teoreticky melo take fungovat

Ano, jako spravce cms desne trpim, kdyz musim uzivatelum prevazne IE vysvetlovat, proc se jim tam nezobrazuje novy obsah doc souboru, ikdyz pri editaci uz je tam ten novy je a zobrazuje se spravne. Kesovani v Plone cms a IE prohlizeci je pekne odflaknuta zalezitost.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: