Yii 1.1: multidomain-client-script

Extension allows to use multiple domains (subdomains) for loading assets.

Multidomain ClientScript (assets)

Extending default Yii CClientScript class to use multiple subdomains for assets (scripts and stylesheets).


You should make sure, that your HTTP-server configured properly - 'assetsSubdomain' and all its combinations are pointing to your 'public_html' directory.

Install and config (available and default settings)

Place MultidomainClientScript.php file into protected/components directory. After this, you can enhance CClientScript class by making some changes in your config file (protected/config/main.php):

'components' => array(
    'clientScript' => array(
        'class' => 'application.components.MultidomainClientScript',
        'enableMultidomainAssets' => true,
        'assetsSubdomain' => 'assets',
        'indexedAssetsSubdomain' => false,


  • enableMultidomainAssets - whether to use subdomains for ClientScript assets. Default is true
  • assetsSubdomain - subdomain name (e.g. 'http://assets.example.com'). Default is 'assets'
  • indexedAssetsSubdomain - whether to use indexed subdomains for registered script files basing on their 'position' param. Default is false


Example for indexedAssetsSubdomain=true param:

Yii::app()->clientScript->registerScriptFile('/js/script.js', CClientScript::POS_HEAD);
// will output:
    <script type="text/javascript" src="http://assets0.example.com/js/script.js"></script>
Yii::app()->clientScript->registerScriptFile('/js/script.js', CClientScript::POS_END)
// will output:
    <sсript type="text/javascript" src="http://assets2.example.com/js/script.js"></script>


Yii since 1.1.7 or above.


Be the first person to leave a comment

Please to leave your comment.

Create extension