login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Cache zorgt voor update problemen (Opgelost)

Offline shamrock - 07/07/2012 12:01 (laatste wijziging 07/07/2012 12:02)
Avatar van shamrockLid Hallo,

Ik gebruik dit om mijn site te cachen:

  1. ## EXPIRES CACHING ##
  2. <IfModule mod_expires.c>
  3. ExpiresActive On
  4. ExpiresByType image/jpg "access plus 2592000 seconds"
  5. ExpiresByType image/jpeg "access plus 2592000 seconds"
  6. ExpiresByType image/gif "access plus 2592000 seconds"
  7. ExpiresByType image/png "access plus 2592000 seconds"
  8. ExpiresByType text/css "access plus 604800 seconds"
  9. ExpiresByType text/javascript "access plus 216000 seconds"
  10. ExpiresByType text/html "access plus 600 seconds"
  11. ExpiresDefault "access plus 10 days"
  12. </IfModule>
  13. ## EXPIRES CACHING ##


Dit werkt prima, de site is een stuk sneller met laden

Nu heb ik op de index (dus eigenlijk op elke pagina) een klein balkje staan met hoeveel producten ik in de winkelwagen heb.

Je raad het al, wanneer ik naar een gecachde pagina ga is dit niet meer up to date.

Is er een manier om dit wel constant up to date te houden?

het balkje staat op de index.php en elke pagina wordt hierin geinclude

bedankt

8 antwoorden

Gesponsorde links
Offline Stijn - 08/07/2012 11:55
Avatar van Stijn PHP expert Ik zou de HTML niet laten cachen door Apache. Als je een e-commerce website hebt, dan verandert de HTML aangezien die dynamisch opgebouwd wordt.

Je kan voor je HTML zelf een cache systeem bouwen in PHP of op zoek gaan naar zo'n dingen.
Offline Pieter - 09/07/2012 11:47
Avatar van Pieter Gouden medaille

SEO guru
Hoe exact wordt de winkelwagen bijgehouden? Cookie/Session/serverside?

Het gemakkelijkste is om niet de html te cachen, maar zorgt er natuurlijk wel voor dat het terug wat trager gaat lopen.
Offline Martijn - 09/07/2012 12:09
Avatar van Martijn Crew PHP Html kan prima gecached worden hoor, zolang alle urls maar uniek zijn, dan wordt elk product per stuk gechached. Dan zou je het alleen met prijzen hebben, of nadere wijzigingen. Ik doe het op www.jewelsite.nl, en ik heb er nooit problemen mee
Offline shamrock - 10/07/2012 09:19
Avatar van shamrock Lid Producten worden in een database toegevoegd.
Wanneer de url uniek is dan cached hij deze toch niet? (dan laad hij de pagina telkens opnieuw).

Maak ik van index.php?pagina=winkelwagen.php > index.php?pagina=winkelwagen.php&a=".date("his")." dan werkt het prima maar dan gebruikt hij geen gecached resultaat

Als ik in bovenstaand script dit weghaal:
ExpiresByType text/html "access plus 600 seconds"

Pakt hij voor html dan de default waarde? (in bovenstaand script 10 dagen?)
Offline Martijn - 10/07/2012 16:49
Avatar van Martijn Crew PHP Daar kom je makkelijk genoeg achter hea ;) gewoon even zelf proberen. Ik raad je wel aan een andere url te maken. Dit is niet vriendelijk, en belangrijker, niet veilig. Ik weet nu dat jouw winkelwagen dus in winkelwagen.php is. Je doet waarschijnlijk ergens iets als dit:

  1. include $_GET['pagina'];

Beter zou zo zijn:
  1. // url is nu zo: index.php?pagina=winkelwagen
  2. $pagina = strtolower($_GET['pagina']);
  3. // Je zou hier nog een controle kunnen doen:
  4. // ##
  5. $paginasDieMogen = array('eenpagina','anderepagina');
  6. if( !in_array($pagina, $paginasDieMogen)){ $pagina = 'home';}
  7. // ##
  8. include $pagina.'.php';
Offline shamrock - 11/07/2012 10:58
Avatar van shamrock Lid ok dankje, maar dan weet je toch nog dat de pagina winkelwagen.php is?

$pagina is dan winkelwagen dus de pagina is winkelwagen.php

ik kan dat idd zo als boven doen maar doe het nu met een if(file_exists())
dit is toch veilig?
Offline Martijn - 11/07/2012 11:01
Avatar van Martijn Crew PHP Dat met de file_exists is niet veilig! Veiliger dan niets, maar niet veilig. Wat nou als ik daar index.php invul? Of '../config.php' of noem maar wat. Kan ik zo doen.

Dan als $pagina winkelwagen is, hoeft dat niet gelijk ook winkelwagen.php te zijn. Dat klinkt logisch voor jou omdat je de code ziet, maar het hóeft niet. Je kun ze bv ook page.winkelwagen.php noemen. Dat maakt het al gelijk een stuk lastiger.
Offline shamrock - 11/07/2012 11:21
Avatar van shamrock Lid ok, ik snap het, bedankt!
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.18s