Es gibt zwei Möglichkeiten, dies zu tun. Die erste besteht darin, den Header in Ihrem PHP-Code anzugeben. Das ist großartig, wenn Sie die Ablaufzeit programmatisch anpassen möchten. Zum Beispiel könnte ein Wiki eine längere Ablaufzeit für eine Seite festlegen, die nicht sehr oft bearbeitet wird.
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + (60 * 60))); // 1 hour
Ihre zweite Wahl ist eine .htaccess Datei oder ändern Sie Ihre httpd Config zu erstellen. In einer Shared Hosting-Umgebung ist das Ändern Ihrer .htaccess-Datei ziemlich üblich. Um dies zu tun, müssen Sie wissen, ob Ihr Server mod_expires, mod_headers oder beides unterstützt. Der einfachste Weg ist einfach Versuch und Irrtum, aber einige Apache-Server sind so konfiguriert, dass Sie diese Informationen über die Seite/server-info anzeigen können. Wenn Ihr Server beide mod_expires und mod_headers hat, und möchten, dass Sie den Ablauf auf der statischen Ressourcen setzen, versuchen Sie dies in Ihrer .htaccess-Datei setzen:
# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault A0
# Set up caching on media files for 1 year (forever?)
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
ExpiresDefault A29030400
Header append Cache-Control "public"
</FilesMatch>
Für andere Kombinationen und weitere Beispiele finden Sie unter: http://www.askapache.com/htaccess/speed-up-your-site-with-caching-and-cache-control.html
Also habe ich recht, wenn ich denke, dass .flv, .ico etc. automatisch die richtigen Header haben? sehr cool – Tom
Header anhängen Cache-Control "public" => Diese Zeile gibt mir einen 500 internen Serverfehler. – noobcode
@noobcode Ich habe genau das gleiche Problem. Wie hast du das bitte gelöst? – Houman