Wenn Sie Mit Apache können Sie mit mod_rewrite Ihre Webseiten statisch zwischenspeichern. Nehmen wir an, Sie verwenden PHP und Sie haben eine Anfrage für "/somepage.php". In deinem ..htaccess-Datei setzen Sie wie folgt vor:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^$ # let's not cache urls with queries
RewriteCond %{REQUEST_METHOD} ^GET$ # or POST/PUT/DELETE requests
RewriteCond static_cache/%{REQUEST_URI} -s # Check that this file exists and is > 0 bytes
RewriteRule (^.*$) static_cache$1 [L] # If all the conditions are met, we rewrite this request to hit the static cache instead
Wenn Ihr Cache leer auftaucht, wird die Anforderung von PHP-Skript wie gewohnt behandelt, so jetzt ist es einfach eine Frage der PHP-Skript speichern die resultierende HTML-Code im Cache machen . Der einfachste Weg, dies zu tun, wird unter Verwendung eines anderen htaccess Regel Ende anhängen ein paar PHP-Dateien auf alle Ihre PHP-Anfragen vorangestellt wird (dies könnte oder nicht eine gute Idee sein, je nach Anwendung):
php_value auto_prepend_file "pre_cache.php"
php_value auto_append_file "post_cache.php"
Dann Sie würde so etwas tun:
pre_cache.php:
ob_start();
post_cache.php:
$result = ob_get_flush();
if(!$_SERVER['QUERY_STRING']) { # Again, we're not caching query string requests
file_put_contents("static_cache/" + __FILE__, $result);
}
Mit einigen zusätzlichen regulären Ausdrücken in der .htaccess-Datei könnten wir wahrscheinlich auch Abfrage-String-Anforderungen zwischenspeichern, aber ich überlasse das als Übung für den Leser :)
Kannst du dieser Frage einen richtigen Titel geben? Z.B. "Was sind die besten Methoden zum Cachen von Daten?", "Welche Methoden des Caching, außer zu Datei oder Datenbank, sind verfügbar?", Oder ähnlich. –