IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    WordPress简单更换CDN地址

    Kimi发表于 2023-11-16 05:21:08
    love 0

    想给网站的地址换个cdn静态地址,但是找了半天WordPress插件都太复杂了,于是自己写了一个

    在/wp-includes/functions.php文件末尾,加上

    //hack for replace cdn site url
    function replace_cdn_url_callback( $buffer ) {
    
            $blog_url = 'https://kimi.pub';
            $cnd_url = 'https://static.kimi.pub';
    
            $include_dirs[] = 'wp-content';
            $include_dirs[] = 'wp-includes';
            $include_dirs[] = 'download';
    
            $arr_dirs = array();
            foreach ( $include_dirs as $dir ) {
                    $arr_dirs[] = preg_quote( trim( $dir ), '`' );
            }
            $dirs = implode( '|', $arr_dirs );
    
            $regex = '`(?<=[(\"\'])' . preg_quote( $blog_url, '`' ) . '/(?:((?:' . $dirs . ')[^\"\')]+)|([^/\"\']+\.[^/\"\')]+))(?=[\"\')])`';
    
            return preg_replace_callback( $regex, 'replace_cdn_url_rewriter', $buffer );
    }
    
    function replace_cdn_url_rewriter( $match ) {
    
            $blog_url = 'https://kimi.pub';
            $cnd_url = 'https://static.kimi.pub';
    
        if( count($match) == 2 ) {
            return str_replace( $blog_url, $cnd_url, $match[0]);
        } else {
            return $match[0];
        }
    }
    
    function cdn_url_buffer_start() {
            ob_start("replace_cdn_url_callback");
    }
    
    function cdn_url_buffer_end() {
            ob_end_flush();
    }
    
    add_action('init', 'cdn_url_buffer_start');
    add_action('shutdown', 'cdn_url_buffer_end');
    


沪ICP备19023445号-2号
友情链接