Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Amazon CloudFront is a content distribution network (CDN) that can help you survive a huge amount of load in a short amount of time. What's the easiest way to configure WordPress to host its files (media library, CSS, plugin files, theme) on S3/CloudFront?

(I'm currently using W3 Total Cache to do this.)

share|improve this question
2  
I was going to answer with wordpress.org/extend/plugins/w3-total-cache , as far as I know it's the best solution for doing this. What does it lack that you need? –  artlung Aug 12 '10 at 0:37
1  
Yeah, what about W3 Total Cache doesn't meet your needs? –  MikeSchinkel Aug 12 '10 at 5:56
    
It wasn't really about me not knowing the answer - it's about documenting the answer for all of humanity. ;-) –  Brent Ozar Aug 18 '10 at 13:08

2 Answers 2

The plugin works fine; alternative you can use a own function to replace the bloginf() to your CDN-Url; Example:

replace the url in content:

// 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' );
}

replace stylesheet_directoy and others:

// 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 );
}

replace the template_directory and other:

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' );
share|improve this answer

I think the W3 Total Cache Plugin can help you..

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.