Tôi muốn Apache gửi các tệp tĩnh gzip'ed qua dây, nhưng cũng muốn Apache không phải lúc nào cũng nén chúng nhiều lần. Vì vậy, tôi nghĩ rằng nếu không thể gửi tệp .gz nếu nó tồn tại. Thiết lập này:
Cấu trúc tệp:
static/
|
|--- style.css
|
\--- style.css.gz
Và sau đây trong một .htaccess:
quy tắc mod_rewrite:
RewriteCond %{REQUEST_FILENAME}.gz -s
RewriteRule ^(.+) $1.gz [L]
Và cài đặt này:
AddEncoding x-gzip .gz
Trên thực tế, điều này hoạt động trong chừng mực khi tệp .gz được gửi thay vì .css, nếu yêu cầu được gửi đến /static/style.css
. Vấn đề chỉ là, tệp được phân phối dưới dạng "application / x-gzip" chứ không phải là "text / css". Sử dụng cờ T của mod_rewrite không làm thay đổi điều này. Không rõ ràng
AddType text/css .css
Có ai có ý tưởng, làm thế nào tôi có thể đạt được hành vi mong muốn? Hoặc là không cần thiết vì một số lý do tôi đã không nghĩ?
EDIT: Có một khó khăn khác: Gửi tệp gốc đến máy khách mà không cần hỗ trợ gzip. Có ai biết làm thế nào điều này có thể làm việc?