Das Festlegen von "Expires" teilt Browsern, die diese Dateien herunterladen, mit, dass sie diese für eine bestimmte Zeit nicht erneut anfordern müssen. Mit anderen Worten, verwenden Sie stattdessen den Cache, wenn Sie ihn haben. Dies kann die Belastung des Servers für Sie reduzieren und die Ladezeit der Seite für Besucher beschleunigen.
# BEGIN EXPIRES
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 10 days"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/plain "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType application/x-icon "access plus 1 year"
</IfModule>
# END EXPIRES
Ich würde hinzufügen, dass Sie, wenn Sie so etwas verwenden, einen Datumsstempel oder eine Versionskennung in den Dateinamen von Ressourcen einbetten sollten. Auf diese Weise können Sie, wenn Sie eine Ressource aktualisieren, die Kennung erhöhen, damit Besucher die neue laden und nicht weiterhin die alte verwenden, bis die Ablaufzeit abgelaufen ist.
Ja! Ich habe festgestellt, dass dies bei Flash-Dateien entscheidend ist.
Können Sie einen Ausschnitt anbieten, der genau das tut? Klingt nach einer großartigen Idee... aber ich wüsste nicht, wie das geht.
Diese Inkrementierung, von der die beiden über Ihnen sprechen, ist wahrscheinlich einfacher, als Sie denken.
Es funktioniert so
[link rel="stylesheet" href="http://path/style.css?v=001" type="text/css" /]
diejenigen von Ihnen, die PHP kennen, werden den v-Parameter und "001" als Wert erkennen. Nun... was hat PHP genau mit CSS zu tun?
Antwort: Nichts!
Der Browser weiß das jedoch nicht und denkt, dass style.css?v=001 nicht dasselbe ist wie style.css?v=002. Verwenden Sie also den obigen Ausschnitt von Chris Coyier und hängen Sie einen v-Parameter an die URL an. Jedes Mal, wenn sich der v-Parameter ändert, wird der Cache/setExpires ignoriert und auf 0 zurückgesetzt.
Wenn Sie dies in WordPress verwenden, empfehle ich, es nicht manuell in header.php festzulegen, sondern eine Funktion in functions.php wie folgt zu erstellen:
[?php
function version(){
$version = "001";
return $version;
}
?]
# header.php
href="style.css?v=[?php echo version(); ?]"
Das sagt Google:
Fügen Sie keinen Query-String in die URL für statische Ressourcen ein.
Die meisten Proxys, insbesondere Squid bis Version 3.0, cachen keine Ressourcen mit einem "?" in ihrer URL, auch wenn ein Cache-Control: public Header in der Antwort vorhanden ist. Um das Proxy-Caching für diese Ressourcen zu aktivieren, entfernen Sie Query-Strings aus Verweisen auf statische Ressourcen und kodieren Sie stattdessen die Parameter in die Dateinamen selbst.
Müssen Sie Pfade für Expires angeben?
Ich habe mich immer gefragt: Gibt es eine Möglichkeit, diesen Code gewissermaßen auszuschalten, wenn Sie sich entscheiden, Ihre JavaScript- oder Bilddateien beispielsweise zu aktualisieren? Ich habe gelesen, dass man sie umbenennen muss, aber gibt es eine Möglichkeit, dies zu umgehen, oder muss man warten, bis die Cache-Zeit abgelaufen ist?
Vielen Dank an das Team von CSS-Tricks.com, ich schätze Ihre Hilfe. Ihre Website ist sehr hilfreich. Ich habe viele Tricks und Tipps gelernt und lerne immer noch.
Ich habe ein Problem, bei dem ich Hilfe brauche, bitte. Ich kann Bilder von meiner Website im Google Chrome-Browser nicht anzeigen. In IE und Firefox funktioniert es gut. Als ich wegen dieses Problems recherchierte, erfuhr ich, dass wir für die Bilder einen Ablauf festlegen müssen. Kann mir jemand bitte Anleitungen geben, wie man einen Ablauf für die Bilder in CSS oder auf andere Weise festlegt?
Vielen Dank für all Ihre Unterstützung.
Dieser Code funktioniert nicht auf meiner Seite. Sagen Sie mir, warum?
Gesichtspalmen @ Lieferung der Frage
wirklich schöner Ausschnitt.
Diese Website ist eine großartige Ressource. Kein Zweifel!
Nur eine schnelle Frage: Was ist der Unterschied zwischen "ExpiresByType application/x-javascript" und "ExpiresByType application/javascript"?
Was genau ist "x-javascript"?
danke
jpg wurde aus der Dateitypenliste weggelassen. Das könnte einigen verwirrten Leuten ein paar Stunden sparen, um es hinzuzufügen. Oder gibt es etwas, das ich nicht weiß? Sind JPEGs dasselbe wie JPGs? Nun, ich nehme an, sie sind es, aber sind sie es für den Server?
jpg wurde aus der Dateitypenliste weggelassen. Das könnte einigen verwirrten Leuten ein paar Stunden sparen, um es hinzuzufügen. Oder gibt es etwas, das ich nicht weiß? Sind JPEGs dasselbe wie JPGs? Nun, ich nehme an, sie sind es, aber sind sie es für den Server? Ich habe die gleiche Frage
Ausgezeichnete Idee. Danke fürs Teilen
Ich habe diesen Code auf ein paar Websites verwendet, aber er wird hinzugefügt, wird aber überhaupt nicht erkannt.
Das bekomme ich zum Beispiel in Yslow
Note F für Add Expires Headers
http://mywebsite.com/wp-content/themes/theme/scripts.js
Was könnte verhindern, dass dieser Code zu den abgelaufenen Regeln hinzugefügt wird?
Vielen Dank,
Hallo, ich habe eine Datei mit der Erweiterung .css.php, die diese Regeln oben nicht übernommen hat.
Was soll ich für diese Datei tun????
mohammad,
stellen Sie sicher, dass Ihr PHP die CSS mit dem richtigen MIME-Typ sendet. Normalerweise mit einem
header("Content-type: text/css");am Anfang Ihres Skripts.das ist zu primitiv – und problematisch
es muss relativ zur Änderungszeit der Datei sein, vorausgesetzt, Sie laden mit intakten Informationen hoch
Vielen Dank für den Set Expires-Tipp. Dank dieses Tipps habe ich meine Website auf der gtmetrix auf eine A-Note verbessert.
Diese Seite ermöglicht es Ihnen, die vom Webserver gesendeten HTTP-Header zu inspizieren, damit Sie die Seitenablaufzeit, Caching-Einstellungen und die Serverversion überprüfen können.
http://web.forret.com/tools/analyze.aspx?url=
Ich habe den Ablauf für meine Website festgelegt. Vielen Dank. Jetzt zeigt PageSpeed gut an.
Wie legen Sie den Ablauf auf Ihrer Website fest?
Wie lege ich das in einem Blogspot.com-Blog fest?
Ich habe keinen Zugriff auf die .htaccess-Datei.
Kann ich diese als Meta-Tag in meinem Header festlegen?
Danke!
Ich habe die Regel für CSS in meine .htaccess-Datei aufgenommen
ExpiresByType text/css "access plus 1 week"
Aber die CSS-Dateien verwenden Versionen wie front.css?ver=4.1
und es spiegelt keinen Ablauf wider
Unten sind die Details
Es gibt 48 statische Komponenten ohne Ablaufdatum in der fernen Zukunft.
@Anand Vaishnav fügen diese Tags keine Ablaufzeit zu Ihren URLs für Dateien hinzu. Sie werden sie erst nach dieser Zeit anfordern. 1 Woche in Ihrem Fall
Vielen Dank für Ihre Antwort :) Nun, das verschlechtert meine Leistungsbewertung, also war ich besorgt. Danke nochmal :) Bringt es etwas durcheinander, wenn ich die Versionsdetails am Ende der URL entferne??
Ich habe keinen Zugriff auf meine .htaccess-Datei.
Gibt es eine Möglichkeit, Code direkt in die Webseite für meine .jpg-Bilder einzufügen?
Wenn ja, können Sie mir den Beispielcode geben?
Bitte…….?
Ich habe die .htaccess-Ablaufzeit verwendet, aber Google Page Speed zeigt immer noch
Beachten Sie die Behebung
Browser-Caching nutzen
Das Festlegen eines Ablaufdatums oder einer maximalen Lebensdauer in den HTTP-Headern für statische Ressourcen weist den Browser an, zuvor heruntergeladene Ressourcen von der lokalen Festplatte und nicht über das Netzwerk zu laden.
und listet alle Bilder und js darunter auf, aber das css wird nicht in der Liste angezeigt. Irgendeine Idee, was falsch ist. Hier ist mein Code
BEGIN EXPIRES
ExpiresActive On
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/plain "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType text/html "access plus 1 month"
ExpiresByType text/php "access plus 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType application/x-icon "access plus 1 year"
ExpiresDefault "access plus 1 month"
END EXPIRES
Dieser Link könnte Ihnen helfen, Ihre htaccss-Datei zu verfeinern, um eine bessere Bewertung bei der Google-Seiteneinsicht zu erzielen. http://community.mybb.com/thread-121754.html
Ich hoffe, das hilft >.<
RewriteEngine On
BEGIN Mod Header
ExpiresActive On
Expires aktivieren und Standard-Expires auf 10 Jahre setzen
END Mod Header
BEGIN Cache Control
Header set Expires “Thu, 15 Apr 2012 20:00:00 GMT”
Header unset ETag
FileETag None
#END Cache Control
Expires Caching
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access plus 10 years"
End
Hallo Freunde,
Ich möchte die Ablaufzeit eines bestimmten .js CDN in .htaccess hinzufügen
CDN ist hier
http://w.sharethis.com/button/st_insights.js
Bitte sagen Sie mir, wie ich das machen kann?
Ich beschleunige meine Website und nutze Browser-Caching in .htaccess.
Hallo,
Ist es möglich, eine variable Ablaufzeit in Meta-Links hinzuzufügen?
Vielen Dank für den Set Expires-Tipp. Dank dieses Tipps habe ich meine Website auf der gtmetrix auf eine A-Note verbessert.
Es gibt hier drei mögliche Codes
1.
Header set Cache-Control “max-age=604800, public”
2.
ExpiresActive On
ExpiresDefault A2592000
3.
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault “access 1 month”
Danke…