Avatar billede jbob Nybegynder
19. oktober 2003 - 20:45 Der er 10 kommentarer og
1 løsning

Kan Cache kontrolleres fra serveren?

Jeg ved ikke hvor jeg skal oprette dette spørgsmål, men nu prøver jeg her.

Jeg har lavet en side, hvor alle billedfiler loades ind hver gang - altså ingen cache. Dette er ganske utilsigtet. Jeg tror IKKE at det er opsætningen i IE, jeg har nemlig lavet en testside, hvor et billede kommer fra "1go" og et billede kommer fra "starthotel". Billedet fra førstnævnte caches IKKE, mens det andet billedet caches. Kan nogen forklare og anvise en løsning så jeg kan få cachet de filer der bruges på flere side (menuen)?!
Avatar billede tjens Nybegynder
19. oktober 2003 - 20:48 #1
Hvis du kører Apache webserver, så er der en løsning her:

http://www.eksperten.dk/spm/403466
Avatar billede jbob Nybegynder
19. oktober 2003 - 20:52 #2
Jeg kører over Webhotel, så der er grænser for hvad jeg har adgang til. Problemet er at Billederne IKKE caches - det vil jeg gerne have dem til så brugerne ikke bliver sindssyge af al det loaderi.

Er der noget jeg kan "indstille" eller "slå fra" på serversiden for så den IKKE FORHINDRER caching?
Avatar billede tjens Nybegynder
19. oktober 2003 - 20:55 #3
Jeg har ikke erfaring med .htaccess filer, men jeg vil da tro, at du kan bruge min løsning i en .htaccess fil.

Løsningen indeholder også et billedbibliotek, der casher.
Avatar billede jbob Nybegynder
19. oktober 2003 - 23:12 #4
Æh, jeg kan ikke se hvordan det kan løse mit spørgsmål. Hvor definerer jeg expire for jpegs, hvis det er det der kan sikre at billederne caches?
Avatar billede tjens Nybegynder
20. oktober 2003 - 09:37 #5
Via apache direktiv:

<directory /var/www/html/site/image*>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 month"
</directory>

Hvis din grafik er gemt i underfoldere der starter med 'image'

Måske skal .htacces filen ligge direkte i dit imagebibliotek, og se sådan her ud:

<directory ./*>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 month"
</directory>
 
eller

<directory ../*>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 month"
</directory>

Hvis du kun har statiske billeder, kan du undvære <directory> linierne.

Prøv dig frem.
Avatar billede jbob Nybegynder
20. oktober 2003 - 22:31 #6
Det lyder rimeligt! Serveren tillader desværre ikke denne .htaccess - i hvert fald ikke med ovenstående indhold.
Avatar billede tjens Nybegynder
21. oktober 2003 - 10:21 #7
Du kan også lade PHP outputte dine billeder:

Ny fil 'image.php' :
<?php
header ("Content-type:image/jpeg");
// Date in the future:
header("Expires: Mon, 21 Oct 2019 05:00:00 GMT");
$fn = './'.$_GET["path"].'/'.$_GET["name"];
readfile($fn);
?>

og byg links til billederne sådanher dynamisk:

echo '<img src="image.php?name='.$image.'&path='.$imgpath.'"/>'."\n";

eller statisk:

<img src="image.php?name=MyImage.jpg&path=MyImageSubDir"/>

Se evt. diskussion af at få cache deaktiveret her:
http://www.eksperten.dk/spm/401779
Avatar billede jbob Nybegynder
21. oktober 2003 - 18:38 #8
Det virker sådan set fint, men min browser cacher stadig ikke billedet. Jeg tror at det er en serveropsætning, der gør det. Når jeg checker egenskaber for files (højeklikker på billedet i browservinduet) siger den "ikke tilgængelig" for "type", "oprettet" og "ændret".

Så tænker jeg at hvis browseren ikke kan se hvornår files er oprettet eler ændret så kan den vel heller ikke cache filen?!
Avatar billede jbob Nybegynder
21. oktober 2003 - 18:39 #9
... her på eksperten og mange andre steder er disse filinformationer tilgængelige!
Avatar billede jbob Nybegynder
10. april 2004 - 11:26 #10
Fandt ikke nogen forklaring - lukker svaret snarest. Tjens hvis du vil have point'ene for indsatsen så smid endelig et svar!
Avatar billede jbob Nybegynder
11. april 2004 - 09:29 #11
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester