wordpress 加速主題的靜態資源
wordpress 加速主題的靜態資源(固定的CSS、JS和圖片等)
wordpress 中用函式 get_stylesheet_directory_uri() 生成當前主題的 URL , 格式如 http://host/path/wp-content/themes/twentyseventeen
當前主題的靜態的CSS、JS和圖片等一般由當前主題指定相對路徑, 一個完整的靜態檔案的 URL 是 get_stylesheet_directory_uri() + 這個相對路徑
如果 wordpress 被假設在國外的伺服器上,在國內訪問還是比較慢的,如果能把這些靜態檔案放在國內的伺服器上,網站速度就會有所提升。改變 get_stylesheet_directory_uri() 就可以實現這個目的。
這個函式在 wp-includes/theme.php 檔案的 194 行左右,wordpress4.7
這是一個比較笨的辦法,這樣當從中國瀏覽 wordpress 時,靜態檔案從又拍雲上加速,當從國外瀏覽時從原站載入靜態檔案
1. 替換該函式的 return 並加入下行
2. 在 wp-includes/theme.php 檔案的最後一行加入這個函式
3. 檔案修改完畢,相關的 IP 庫放在網站的根目錄下,解壓後檔案不到 400 KB
wordpress 中用函式 get_stylesheet_directory_uri() 生成當前主題的 URL , 格式如 http://host/path/wp-content/themes/twentyseventeen
當前主題的靜態的CSS、JS和圖片等一般由當前主題指定相對路徑, 一個完整的靜態檔案的 URL 是 get_stylesheet_directory_uri() + 這個相對路徑
如果 wordpress 被假設在國外的伺服器上,在國內訪問還是比較慢的,如果能把這些靜態檔案放在國內的伺服器上,網站速度就會有所提升。改變 get_stylesheet_directory_uri() 就可以實現這個目的。
這個函式在 wp-includes/theme.php 檔案的 194 行左右,wordpress4.7
這是一個比較笨的辦法,這樣當從中國瀏覽 wordpress 時,靜態檔案從又拍雲上加速,當從國外瀏覽時從原站載入靜態檔案
1. 替換該函式的 return 並加入下行
$ip_china = '/china-ip.json';
$cdn_china = '//yisuo.b0.upaiyun.com/wp-content/themes/';
$ip_remote = $_SERVER["REMOTE_ADDR"];
$path_themes = apply_filters( 'stylesheet_directory_uri', $stylesheet_dir_uri, $stylesheet, $theme_root_uri );
if(check_is_china_ip($ip_remote, $ip_china)) $path_themes = $cdn_china . $stylesheet;
/**
* Filters the stylesheet directory URI.
*
* @since 1.5.0
*
* @param string $stylesheet_dir_uri Stylesheet directory URI.
* @param string $stylesheet Name of the activated theme's directory.
* @param string $theme_root_uri Themes root URI.
*/
return $path_themes;
2. 在 wp-includes/theme.php 檔案的最後一行加入這個函式
# ****** 從json格式資料中檢測IP是否來自中國
function check_is_china_ip($ip, $ipjson){
$ip_addr = explode('.', $ip);
if(count($ip_addr) < 4) return false;
$a1 = (int)$ip_addr[0];
$a2 = (int)$ip_addr[1];
$a3 = (int)$ip_addr[2];
$a4 = (int)$ip_addr[3];
$s_china = file_get_contents($ipjson);
$tb_china = json_decode($s_china, 1);
unset($s_china);
if(!isset($tb_china[$a1][$a2]) || count($tb_china[$a1][$a2]) == 0) return false;
$a = $a3 * 256 + $a4;
foreach($tb_china[$a1][$a2] as $d){
if($a >= $d['s'] && $a <= $d['e']){
return true;
}
}
return false;
}
3. 檔案修改完畢,相關的 IP 庫放在網站的根目錄下,解壓後檔案不到 400 KB
http://pan.baidu.com/s/1gfcfn95
相關文章
- Web靜態資源加速Web
- Hummingbird - WordPress快取、靜態資源合併、加速外掛快取
- wordpress偽靜態的原理
- Wordpress教程:一鍵實現WP部落格靜態檔案CDN加速
- 加速部落格體驗:靜態資源最佳化技巧大揭秘!
- webpack 靜態資源管理Web
- 靜態資源公共庫
- WPF:靜態、動態資源以及資源詞典
- 靜態資源伺服器伺服器
- Websphere中靜態資源配置Web
- 關於iOS Webview 載入React 靜態資源的安全問題iOSWebViewReact
- 008.Nginx靜態資源Nginx
- 【Nginx】Nginx部署前端靜態資源Nginx前端
- 如何在nginx配置靜態資源Nginx
- Spring Boot 靜態資源配置 A卷Spring Boot
- SpringBoot處理靜態資源Spring Boot
- SpringBoot靜態資源訪問Spring Boot
- asp .net core 靜態檔案資源
- Golang 非主流 打包靜態資源方案Golang
- Nginx靜態資源伺服器配置Nginx伺服器
- 如何高效管理網站靜態資源網站
- SpringMVC配置靜態資源訪問SpringMVC
- springboot+themeleaf+bootstrap訪問靜態資源/無法訪問靜態資源/圖片Spring Boot
- WordPress主題:Zibll子比主題 V4.0
- SpringMVC訪問靜態資源的三種方式SpringMVC
- 模組化開發靜態資源對映
- Web靜態資源快取及優化Web快取優化
- 如何快速搭建靜態資源伺服器伺服器
- 手寫Node靜態資源伺服器伺服器
- Node之手寫靜態資源伺服器伺服器
- web伺服器靜態資源下載Web伺服器
- 基於webpack的幾種靜態資源的引入方案Web
- 使用electron-builder打包windows應用時的幾個靜態資源問題UIWindows
- Django不顯示CSS的效果(基於Django模板的靜態資源配置問題)DjangoCSS
- 瀏覽器解析html檔案src靜態資源路徑問題瀏覽器HTML
- WordPress愛導航主題原始碼原始碼
- WordPress視訊主題JustMedia原始碼原始碼
- ModernUI教程:主題資源引用UI