Cache-Header mit mod_expires überschreiben

8

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.

    
scheffield 28.10.2011, 13:50
quelle

3 Antworten

4

Leider ist das eine bekannte Einschränkung, und wir mussten nur mod_headers verwenden.

    
scheffield 19.11.2012, 10:15
quelle
0

Haben Sie versucht, es mit mod_headers zu mischen?

%Vor%

Nicht getestet, aber im Falle von ...

    
regilero 29.10.2011 20:01
quelle
0

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 ...

    
intelekt 18.11.2011 17:06
quelle

Tags und Links