日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Wordpress 提速之 Gzip 压缩

發布時間:2023/12/9 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Wordpress 提速之 Gzip 压缩 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天來聊下 wordpress 提速,其實關于這方面的話題網上其實蠻多的,速度對一個網站來說無疑是非常重要的,對于速度的追求也是無止境的,在這方面的表率無疑就是 shawn 了,看他博客的很多技巧都是針對速度來的……不過話說回來,速度也不是絕對的,看很多優秀的博客速度并不占優,有時候追求速度難免還會犧牲一些其它的東西!!此文僅供參考。

廢話少說,關于 wordpress 的提速還是可以從很多方面入手的,因為 WP 的靈活而導致其效率和速度的下降,比如因為使用插件而在頭部載入的 N 多的 JS 和 CSS 就是最為典型的,就不展開說了,今天我們只說 Gzip!

什么是 Gzip 壓縮,為什么要用 Gzip 壓縮

說白了就是一種壓縮的技術,它將瀏覽器請求的文件在服務器端進行壓縮,然后將文件以壓縮的形式傳遞給瀏覽器,然后在瀏覽器端進行解壓縮,還原后進行解析。而目前 99% 的瀏覽器都支持 Gzip ,包括 IE 4+, Netscape 4+, Opera 5+ 和所有版本的 Safari 和 Firefox ,所以大家可以放心使用。

在這里我們的壓縮對象是所有的 html、JS、和 CSS 。而他的壓縮效率驚人,能減小 60% 到70%。像我的博客一個 10K 的 JS 文件,用 Gzip 壓縮后瀏覽器接收的只有 3K 大小,16K 的 CSS 文件也被壓縮到了 5K,很強大吧!

怎么知道我的頁面是否 Gzip 壓縮過了

Gzip 的方法有很多種,而有很多的服務器是默認開啟 Gzip 壓縮的,不過據我所知,這種服務器少之又少。怎么確定自己的網頁是否被 Gzip 呢!!這種測試的網站網上也很多,不過一般只能測試 html,這里推薦給大家一個測試的網站:Websiteoptimization,輸入網址后,輸入驗證碼,就會給出你的 Web Page Speed Report.

貌似很多的“童鞋”看錯了,現在補圖上來!!其中在下面的 Page Objects 中,會給出所有所加載的文件的信息。在最后一欄的信息中,如果顯示:Congratulations! This file was compressed. 說明是被壓縮過的,如果是:Up to **** bytes could have been saved through compression,顯然是還沒被壓縮的。

啟用 Gzip 的幾種方法

是的,有幾種方法,是針對不同的情況的。

1、最好的情況是你的主機采用的是 Apache 2,并安裝啟用了mod_deflate 模塊。這樣就很簡單了,只需要在 .htaccess 文件中加入以下代碼可以壓縮 HTML, PHP, JS, CSS, XML 后綴的文件。
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-httpd-php application/x-javascript
</ifmodule>
不過一般的主機都沒有這個模塊,如果你是獨立主機可以自行配置。至于如何檢測自己的主機是否有安裝這個模塊,我還真沒找到辦法,望高手指點。如果大家有興趣,可能將上面的代碼加好,看是否 Gzip 來試一下!以上方法來自:我愛水煮魚
<?php
$allowed = array (
'css'=>'text/css',
'js'=>'text/javascript',
'html'=>'text/html',
'htm'=>'text/html',
);
$file = isset ($_GET['url'])?$_GET['url']:null;
$extension = explode('.', $file);
$extension = array_pop($extension);
if ( isset ($allowed[$extension]))
{
$pos = strpos($file, '..');
if ($pos === false && is_file($file))
{
@ob_start('ob_gzhandler');
header("Content-type: {$allowed[$extension]};
charset:UTF-8 ");
readfile($file);
}
else {
header('HTTP/1.1 404NotFound ');
}
}
?>
2、用 PHP 來壓縮

此方法也需要 PHP 模塊 zlib 的支持,不過這是一個基本的模塊,一般都開啟了!!所以我們主要講下這部分。

用 PHP 壓縮動態頁面

我們先來看所謂的 html 的壓縮,其實也就是由 PHP 動態生成的 html 。這樣的方法有很多,我用的是 shawn 的方法 ,還有 幾種方法 供參考。

用 PHP 壓縮 JS 和CSS

關于 JS 和 CSS 的壓縮也有幾種方法,目前比較多的是像 K2 學習,將 JS 和 CSS 改為 .php 的方法。這個前輩已經介紹過了,請移步:簡述對WP博客樣式表和JS腳本的壓縮

這種方法的缺點是要修改每個 JS 和 CSS 文件,有點不太方便。對于將所有插件中的 JS 和CSS 都合并的博客來說還算容易,但沒有合并的來說無疑是一項巨大的工程,而且插件更新也是件麻煩的事。另外看著好好的 CSS 文件變成了 PHP ,看著挺怪的,呵呵!!好處是有好的適應性,因為這 K2 用的方法!

第二種方法是老N提供的方法:加速blog,壓縮js,css,減省帶寬 ,這種方法應該說比較簡單,而且默認對所有的 JS 和 CSS 生效。原理就是把 JS 和 CSS 利用 .htaccess 交給一個 PHP 文件來處理進行壓縮。

老N那的代碼貌似復制出來有些問題,我再貼一下,呵呵:

1、創建 gzip.php 文件并上傳到博客根目錄,代碼如下:

下載: gzip.php

2、更改.htaccess文件,在.htaccess中添加:

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} ^.*\.(css|js|html|htm)$
RewriteRule ^(.*)$ gzip.php?url=$1 [QSA,L]

就 OK 了~,的確很簡單

但上面兩種方法還有一個問題,就是會吃服務器的資源,占用一定的 CPU 和內存,因為每次訪問頁面都要執行一下。但具體吃到什么程度,我就不清楚了,據說在服務器資源緊張的情況下壓縮的效率會比較低,不過我想一般大型的主機提供商的主機還是不會有什么問題的。

第三種我們來看 輻射魚提供的方法

1. 下載 Gzip.php 文件并上傳到你的Wordpress安裝目錄

2. 在你的 Wordpress 根目錄建立 wp-cache 文件夾并確保其可寫入

3. 在.htaccess里面加上
RewriteRule (.*.css$|.*.js$) gzip.php?$1 [L]
即可

也非常的簡單,而且此種方法的優點是:自動讀取并 gzip 壓縮 css 和 js,訪問時直接調用生成的 .gz 文件,節約帶寬也不占用服務器資源,但不適用空間下安裝了多個 Wordpress 的博友,可能導致二級目錄下的某些 WordPress 無法加載 CSS 樣式。這些都是輻射魚的原話,呵呵!另外就是當 CSS 和 JS 有更新時要手動清除緩存才行。符合條件的同志推薦用這種方法!!

終于寫完了,看來目前還沒有很完美的解決方案,大家可以根據自己的實際情況來選擇用哪種方法,以上資料僅供參考,有問題請留言!!

職場 休閑 Wordpress

0

微博 QQ 微信

收藏

上一篇:在WordPress的Feed中... 下一篇:WordPress函數詳解之Wp... veckie9

82篇文章,4W+人氣,0粉絲

轉載于:https://blog.51cto.com/veckie9/811289

總結

以上是生活随笔為你收集整理的Wordpress 提速之 Gzip 压缩的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。