Ich möchte, dass Apache statische Dateien über das Kabel sendet, aber auch, dass Apache sie nicht immer und immer wieder komprimiert. Also dachte ich, wenn es nicht möglich wäre, eine .gz-Datei zu liefern, wenn sie existiert. Diese Einstellung:
Dateistruktur:
static/
|
|--- style.css
|
\--- style.css.gz
Und das Folgende in einem .htaccess:
mod_rewrite Regel:
RewriteCond %{REQUEST_FILENAME}.gz -s
RewriteRule ^(.+) $1.gz [L]
Und diese Einstellung:
AddEncoding x-gzip .gz
Tatsächlich funktioniert dies insofern, als die .gz-Datei anstelle der .css-Datei gesendet wird, wenn die Anforderung an gesendet wird /static/style.css
. Das Problem ist nur, dass die Datei als "application / x-gzip" und nicht als "text / css" geliefert wird. Die Verwendung des T-Flags von mod_rewrite ändert daran nichts. Auch nicht explizit
AddType text/css .css
Hat jemand eine Idee, wie ich das gewünschte Verhalten erreichen könnte? Oder ist es aus irgendeinem Grund unnötig, mit dem ich nicht gerechnet habe?
BEARBEITEN: Es gibt eine zusätzliche Schwierigkeit: Senden der Originaldatei an Clients ohne gzip-Unterstützung. Hat jemand eine Idee, wie das funktionieren könnte?