簡體   English   中英

gzip 沒有 mod_gzip 也沒有 mod_deflate 和預 gzip 文件

[英]gzip without mod_gzip nor mod_deflate and pre gzipped files

我的托管公司不支持 mod_gzip 和 mod_deflate。

我必須 gzip.js 和 css 文件

我已經預壓縮了文件。

I use Joomla, and to add scripts to the document, I must use a PHP file that serves the.js.gz files whenever the encoding is accepted by the user (example of PHP joomla code):

$document = &JFactory::getDocument();

    $document->addScript($jQueryPath);

我將以下指令添加到 .htaccess; 但是,瀏覽器不會解壓縮 .js.gz 文件

# Add some gzip to the bunch
AddEncoding x-gzip .gz 
<FilesMatch \.js.gz$>
        ForceType text/javascript
        Header set Content-Encoding "gzip"
</FilesMatch>
<FilesMatch \.css.gz$>
        ForceType text/css
        Header set Content-Encoding "gzip"
</FilesMatch>

RewriteCond %{REQUEST_FILENAME} ^.+\.(js|css)$ [NC]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.+)$ $1.gz [L,QSA,NC,NS]

任何人都可以在所描述的條件下幫助如何 gzip 嗎?

謝謝,

大多數 php 安裝都帶有 Zlib 擴展,可讓您操作 gzip 文件。

查看這些 php 手冊頁以完成您的要求:

http://www.php.net/manual/en/function.gzcompress.php
http://www.php.net/manual/en/function.gzdeflate.php
http://www.php.net/manual/en/function.gzencode.php

您可以使用 $_SERVER 超全局檢查接受編碼 Header:

if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate'))
{
// DO STUFF HERE
}
elseif (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'))
{
// DO STUFF HERE
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM