Сжатие веб-страницы на Apache без включенного gzip или deflate - PullRequest
0 голосов
/ 14 февраля 2011

У меня есть сайт joomla на общем сервере, поэтому у меня нет доступа к apache для включения gzip или defalte, так что мне интересно, что я могу сделать с php, чтобы включить сжатие для ускорения моего сайта?

Ответы [ 3 ]

1 голос
/ 14 февраля 2011

Вы можете попытаться включить сжатие вывода, установив параметр zlib.ouput_compression:

http://php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression

или вы можете специально выполнить буферизацию вывода и запустить его через обработчик GZIP:

ob_start("ob_gzhandler");

первый вариант - предпочтительный метод, если вы используете второй метод, убедитесь, что он не нарушает буферизацию выходных данных, что делает Joomla - я не эксперт по Joomla, но я ожидаю, что CMS предоставит возможность сжатия содержимого до доставки.

0 голосов
/ 02 августа 2011

Было бы неплохо, если бы вы добавили условие, чтобы проверить, принимает ли оно такую ​​кодировку, как это.

<?php
 if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'))
     ob_start("ob_gzhandler");
 else
     ob_start();
?>

Примечание: вам придется делать это для каждого php-файла, есливаш сервер не поддерживает конфигурацию .htaccess.

0 голосов
/ 14 февраля 2011

Если на вашем хосте включен gzip, вам нужно добавить эти строки в файл .htaccess без изменения кода

AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript 
AddOutputFilterByType DEFLATE text/xml application/xml text/x-component

эта строка включает apache deflate в содержимом html, css json и xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...