CakePHP CDN integration
Before you start
- Before you take any steps please back up your files and database.
- In the following we are going to integrate a CDN service using its CDN domain 12345.r.cdnsun.net. Please refer to Services/How-To for your CDN domain.
- If you are going to integate a CDN service also on https:// pages then you must use CDN domain with SSL enabled.
- If your website embeds custom fonts then please first enable CORS for them.
- Before you take any steps please make sure that your CDN domain is ready-to-use here.
Create CDN Static service
Please refer to Creating a CDN Static service for more details.
Enable CDN in CakePHP
Define CDN in Bootstrap
Add the following to the CakePHP's Config/bootstrap.php file.
Configure::write('App.imageBaseUrl', 'http://12345.r.cdnsun.net/img/'); Configure::write('App.cssBaseUrl', 'http://12345.r.cdnsun.net/css/'); Configure::write('App.jsBaseUrl', 'http://12345.r.cdnsun.net/js/');
Use the HTML helper for images
<?php echo $this->Html->image('image.jpeg', array('alt' => 'Image Alt')); ?>
<img src="http://12345.r.cdnsun.net/img/image.jpeg" alt="Image Alt" />
Use the HTML helper for CSS
<?php echo $this->Html->css('style'); ?>
<link rel="stylesheet" type="text/css" href="http://12345.r.cdnsun.net/css/style.css" />
<?php echo $this->Html->script('script'); ?>
- Don't see your CDN domain in source code of your web pages? If your website is using any cache plug-in/mechanism then you might want to clear/flush its cache.
- Having troubles with custom fonts? Please refer to Using custom fonts with CDN - setting CORS for more details.
- Still having troubles? Check your CDN URLs in our CDN content check or please refer to Debugging a CDN service for more hints.