Ich möchte Cache-Header mit dem Modul mod_expires aus Apache setzen. Meine Konfiguration sieht ungefähr so aus:
%Vor%Das Problem ist, dass die Dateien von einem dritten System erzeugt werden, das ich nicht kontrolliere. Dieses System stellt Dateien mit den folgenden Kopfzeilen bereit:
%Vor%Diese Header machen es unmöglich, die Cache-Header mit mod_expires zu setzen. Ссылка sagt uns warum:
Wenn die Expires-Kopfzeile bereits Teil der vom Server generierten Antwort ist, z. B. wenn sie von einem CGI-Skript generiert oder von einem Ursprungsserver hergeleitet wird, ändert dieses Modul nicht oder fügt einen Expires- oder Cache-Control-Header hinzu.
Gibt es eine Möglichkeit, diese Regel zu umgehen und die Header mit mod_expires zu überschreiben?
Aktualisierung: Eine mögliche Lösung, um diese Einschränkung zu vermeiden, besteht darin, nur mod_headers zum Setzen der Cache-Header zu verwenden. Leider ist dies keine Alternative, da die Werte berechnet werden müssen.
Danke, dass es vorangeht.
Leider ist das eine bekannte Einschränkung, und wir mussten nur mod_headers
verwenden.
Haben Sie versucht, es mit mod_headers zu mischen?
%Vor%Nicht getestet, aber im Falle von ...
Der Vorschlag von Regilero wird nicht funktionieren, da Header-Direktiven sehr spät in der Antwortverarbeitung verarbeitet werden - nach der mod_expire
-Direktive. Sie würden also die Header deaktivieren, nachdem mod_expires
das getan hat (oder nicht getan hat).
Wenn es Apache 2.2 ist, könntest du versuchen, early
am Ende jeder Header-Anweisung zu setzen. Das wird ihm sagen, dies in einem frühen Stadium der Antwortverarbeitung zu tun, anstatt am Ende.
versuche es also:
%Vor%Habe tho nicht getestet, aber versuche es ...
Tags und Links apache mod-expires