Mit Apache httpd, wie Konfiguriere ich kein caching für einen bestimmten UserAgent?
Habe ich Apache HTTPD konfiguriert hinzufügen eines cache-header, um Anforderungen für die meisten statischen Inhalte:
ExpiresActive On
ExpiresDefault "access plus 1 year"
# Force JNLP and BSH files to expire immediately so updates are checked for
# and seen (We need this so we see changes in the dynamic content in both)
ExpiresByType application/x-java-jnlp-file "now"
ExpiresByType application/x-bsh "now"
Wie kann ich diese deaktivieren Zwischenspeicherung für jede Anfrage, wo die UserAgent
enthält den string JNLP? Wenn die Anfrage kommt aus dem User-Agent-JNLP (zum Beispiel "User-Agent: JNLP/6.0 javaws/1.6.0_12 (b04) Java/1.6.0_12
") ich will nicht alle Cache-Control
oder andere cache-bezogene Header in der HTTP-Antwort.
Ich finden kann, Konfigurations-Beispiele für mehrere Dinge, basierend auf user-agent, aber ich kann nicht herausfinden, wie zu konfigurieren, caching je nach user-agent.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre
ExpiresByType
Richtlinie sieht wie eine gute Idee... wenn das nicht genug ist, dann versuchen Sie es mitBrowserMatch
:Diese setzt die Umgebungsvariable
ua_is_jnlp
um einen Wert für jede Anfrage, deren user-agent-header den string enthältJNLP
(es gibt auch eine case-insensitive VarianteBrowserMatchNoCase
). Dann deaktivieren Sie caching-Header mitobwohl, wenn Sie wollen, um das caching zu deaktivieren vollständig, Sie wären besser dran, die Einstellung