Назад | Перейти на главную страницу

Предварительное сжатие Gzip

Я использую mod_deflate для сжатия моих файлов .css и .js на лету:

<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>

Проблема в том, что это сжимает файлы на лету, что требует некоторых системных ресурсов при работе с большими файлами.

Поэтому я хочу предварительно сжать свои файлы, чтобы они обслуживались напрямую для снижения нагрузки на сервер. Я хочу сохранить их с другими файлами css и js, такими как style.css и style.gz, затем использовать заголовки php, чтобы проверить, принимает ли клиент кодировку gzip, чтобы решить, обслуживать ли файл .css или .gz. ДЛЯ ПРОВЕРКИ ЭТО НЕ ПРОБЛЕМА. Проблема в том, как предварительно сжать файлы.

Я наткнулся на несколько тем как это но ни один из них у меня не работал. Это выглядит просто, но у меня возникла внутренняя ошибка сервера 500.

Есть ли какой-нибудь инструмент или что-то еще, что делает эту работу?

Вы можете написать простой сценарий на bash:

#!/bin/bash
for file in *.css *.js; do
  gzip -c $file > $file.gz;
done