У меня есть игра JavaScript, которая в основном состоит из файла .html и .data. Если я сжимаю их с помощью gzip, их размер уменьшается до 25%. Поэтому я хочу это сделать.Как разместить статический контент, предварительно сжатый в apache?
Я не уверен на 100%, но я думаю, что использование mod_gzip или mod_deflate делает сжатие «на лету», постоянно теряя время процессора, потому что контент не изменяется.
Так что я хотел бы прекомпилировать Контент. Поэтому я поставил .gz рядом с несжатых файлов и положить переписать правила в .htaccess:
RewriteEngine on
# If client accepts compressed files
RewriteCond %{HTTP:Accept-Encoding} gzip
# and if compressed file exists
RewriteCond %{REQUEST_FILENAME}.gz -f
# send .html.gz instead of .html
RewriteRule ^(.+)\.(html|css|js|data)$ $1.$2.gz [T=text/$2,E=GZIP:gzip,L]
Header set Content-Encoding gzip env=GZIP
редирект работает, я могу запросить game.html и фактически получить deliviered game.html.gz. Однако браузер не просто отображает его. Вместо этого он спрашивает, где сохранить файл. Как я могу это исправить? Или, может быть, есть еще один способ достичь моей цели?
Кажется, что apache не уважает модификатор T. Какой тип контента возвращает сервер? – claustrofob
Мне тяжело это узнать. Firebug не сообщает Content-type, когда ff хочет сохранить файл, или я не знаю, как его увидеть. – marc40000