it-swarm.cn

为Amazon CloudFront缓存配置WordPress?

Amazon CloudFront 是一个内容分发网络(CDN),可以帮助您在很短的时间内承受巨大的负载。在S3/CloudFront上配置WordPress以托管其文件(媒体库,CSS,插件文件,主题)的最简单方法是什么?

(我目前正在使用W3 Total Cache来执行此操作。)

6
Brent Ozar

该插件工作正常;您可以使用自己的函数将bloginf()替换为您的CDN-Url;例:

替换内容中的url:

// replace content for CDN
if ( !function_exists('fb_add_static_content_url') ) {
    function fb_add_static_content_url($content) {
            if ( is_admin() ) // eigentlich überflüssig
                return $content;

            $wpurl = get_bloginfo('wpurl');

            $search = array(
                $wpurl . '/wp-content/images/',
                $wpurl . '/wp-content/download/',
            );

            $replace = array(
                'http://cdn1.bueltge.de/',
                'http://cdn2.bueltge.de/',
            );

            return str_replace( $search, $replace, $content );
    }
    add_filter( 'the_content', 'fb_add_static_content_url' );
}

替换stylesheet_directoy和其他人:

// replace for CDN
if ( !function_exists('fb_add_static_wpurl') ) {
    function fb_add_static_wpurl($info, $show) {

        if ( is_admin() )
            return $info;

        $keys = array(
            'url',
            'wpurl',
            'stylesheet_url',
            'stylesheet_directory',
            'template_url',
            'template_directory',
            );

        if ( in_array( $show, $keys ) ) {

            $wpurl = get_bloginfo('wpurl');

            $search = array(
                $wpurl . '/wp-content/images/',
                $wpurl . '/wp-content/download/',
                $wpurl . '/wp-content/themes/',
                $wpurl . '/wp-content/plugins/',
            );

            $replace = array(
                'http://cdn1.bueltge.de/',
                'http://cdn2.bueltge.de/',
                'http://cdn3.bueltge.de/',
                'http://cdn3.bueltge.de/',
            );

            return str_replace( $search, $replace, $info );

        } else {
            return $info;
        }
    }
    add_filter( 'bloginfo_url', 'fb_add_static_wpurl', 9999, 2 );
}

替换template_directory和其他:

function fb_add_static_stylesheet_uri($uri) {

            if ( is_admin() )
                return $uri;

            $wpurl = get_bloginfo('wpurl');

            $search = array(
                $wpurl . '/wp-content/images/',
                $wpurl . '/wp-content/download/',
                $wpurl . '/wp-content/themes/',
                $wpurl . '/wp-content/plugins/',
            );

            $replace = array(
                'http://cdn1.bueltge.de/',
                'http://cdn2.bueltge.de/',
                'http://cdn3.bueltge.de/',
                'http://cdn3.bueltge.de/',
            );
            return str_replace( $search, $replace, $uri );

}
add_filter ( 'template_directory_uri', 'fb_add_static_stylesheet_uri' );
add_filter ( 'stylesheet_uri', 'fb_add_static_stylesheet_uri' );
add_filter ( 'stylesheet_directory_uri', 'fb_add_static_stylesheet_uri' );
3
bueltge

我认为 W3总缓存插件 可以帮助你..

3
User