2012-02-20 2 views
0

.htaccessапач mod_deflate для CSS и JS

<ifmodule mod_deflate.c> 
# compress the files 
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 

# removes some bugs 
BrowserMatch ^Mozilla/4 gzip-only-text/html 
BrowserMatch ^Mozilla/4\.0[678] no-gzip 
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html 
Header append Vary User-Agent 
</ifmodule> 

А для PHP файлов

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

А для PHP файлов все в порядке, но не для CSS, JS-файлов. Какие-нибудь советы ?

+0

Глупый вопрос .. вы на самом деле включить mod_deflate? Вышеприведенное конфигурирует материал тогда и только тогда, когда загружается mod_deflate .. – FauxFaux

+0

Да, у меня есть SetOutputFilter DEFLATE – Ben

+0

Я предполагаю, что faux берет настройку в httpd.conf, у вас есть mod_deflate enabled –

ответ

3

Чтобы проверить, что mod_deflate действительно работает, попытайтесь поместить это в верхней части файла httpd.conf:

LoadModule deflate_module modules/mod_deflate.so 

и в нижней части файла httpd.conf:

############################################## 
#Mod Deflate Config: 
SetOutputFilter DEFLATE 
BrowserMatch ^Mozilla/4 gzip-only-text/html 
BrowserMatch ^Mozilla/4\.0[678] no-gzip 
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html 
DeflateFilterNote Input input_info 
DeflateFilterNote Output output_info 
DeflateFilterNote Ratio ratio_info 
LogFormat '(%{ratio_info}n%%) "%r" %{output_info}n/%{input_info}n' deflate 
CustomLog logs/compression.log deflate 
############################################### 

Это будет сжимать только что-нибудь ТОЛЬКО, если браузер отправит заголовок gzip-ready.

После того, как вы получили некоторые хиты на своем сайте, отметьте «compression.log» в папке журналов apache. Опубликовать вывод.

+0

Когда я вставил LoadModule deflate_module modules/mod_deflate.so это в .htaccess говорит 500 Внутренняя ошибка сервера – Ben

+0

Можете ли вы проверить, есть ли у вас файл? Откройте apache/modules/и посмотрите, действительно ли он существует. (Проверьте также error.log и пост-вывод). И убедитесь, что вы вызываете его только один раз, если у вас уже есть эта строка, но не добавляйте другую. – ionFish

+0

У меня нет доступа к этому .. ведьма означает, что я должен написать в хостинговую компанию – Ben

1

В httpd.conf убедитесь, что эта линия не комментировали

LoadModule deflate_module modules/mod_deflate.so 

если это то раскомментируйте его и перезапустить службу Apache

Смежные вопросы