500 при сжатии файлов с .htaccess

Я пытаюсь сжать файлы с .htaccess, но я получаю 500 внутренних ошибок,

Это код, который я пытаюсь использовать.

# JavaScript compression htaccess ruleset
AddHandler application/x-httpd-php .js
php_value auto_prepend_file gzip-js.php
php_flag zlib.output_compression On

Я также пробовал это, но получаю ту же ошибку,

<files *.html>
SetOutputFilter DEFLATE
</files>

Любые предложения, почему?

Ответы

Ответ 1

У вас установлена ​​mod_deflate? Попробуйте это вместо этого и посмотрите, не исчезла ли ваша ошибка.

<ifModule mod_deflate.c>
<Files *.html>
SetOutputFilter DEFLATE
</Files>
</ifModule>

Если это устраняет ошибку 500, у вас, вероятно, нет mod_deflate. Вы можете протестировать его, посетив HTTP Compression Test.

Если у вас есть доступ, вы можете включить его, раскомментировав следующие строки в файле httpd.conf.

LoadModule filter_module modules/mod_filter.so
LoadModule deflate_module modules/mod_deflate.so

Затем вам нужно будет добавить тип вывода для каждого типа файла, который вы хотите сжать.

AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

Как упоминалось в комментариях, AddOutputFilterByType зависит от mod_filter. Если вы все еще получаете ошибку 500, вы должны проверить, что этот модуль также загружен.

Вы можете прочитать больше здесь: Использовать mod_deflate для сжатия веб-контента, поставляемого Apache

Я не могу найти документацию, которая предполагает, поддерживает ли Siteground mod_deflate или нет. Их KB предлагает использовать gZip из PHP.

Как включить сжатие gZIP для ваших страниц?
Как сжать мой CSS с помощью gZIP?

Ответ 2

Проведя часы поиска, я нашел это article, подумал, что кто-то может найти его полезным,

Enjoy.

Ответ 3

## DEFLATE ##

# mod_filter.so и mod_deflate.so

должен быть включен!!!!

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

Ответ 4

Это сработало для меня (вставьте .htaccess):

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript