Browse Source

Allow the specification of a asset base URL.

Taylor Otwell 12 years ago
parent
commit
efe3de6843
3 changed files with 9 additions and 11 deletions
  1. 3 4
      application/config/application.php
  2. 1 0
      laravel/documentation/changes.md
  3. 5 7
      laravel/url.php

+ 3 - 4
application/config/application.php

@@ -20,10 +20,9 @@ return array(
 	| Asset URL
 	|--------------------------------------------------------------------------
 	|
-	| The base URL used for your application's asset files, if you are serving
-	| them through a different server or a content delivery network, for
-	| example. If it's not set, we'll default to the application URL (above).
-	| Leave off the trailing slash.
+	| The base URL used for your application's asset files. This is useful if
+	| you are serving your assets through a different server or a CDN. If it
+	| is not set, we'll default to the application URL above.
 	|
 	*/
 

+ 1 - 0
laravel/documentation/changes.md

@@ -63,6 +63,7 @@
 - Added support for `HAVING` SQL clauses.
 - Added `array_pluck` helper, similar to pluck method in Underscore.js.
 - Allow the registration of custom cache and session drivers.
+- Allow the specification of a separate asset base URL for using CDNs.
 
 <a name="upgrade-3.2"></a>
 ## Upgrading From 3.1

+ 5 - 7
laravel/url.php

@@ -220,16 +220,14 @@ class URL {
 	 */
 	public static function to_asset($url, $https = null)
 	{
-
-		// If the URL is already well-formed, just return it
 		if (static::valid($url)) return $url;
 
-		// If a base asset URL is defined in the configuration, use that and
-		// don't try and change links to http/https.
-		if ($root = Config::get('application.asset_url', false )) {
-
+		// If a base asset URL is defined in the configuration, use that and don't
+		// try and change the HTTP protocol. This allows the delivery of assets
+		// through a different server or third-party content delivery network.
+		if ($root = Config::get('application.asset_url', false))
+		{
 			return rtrim($root, '/').'/'.ltrim($url, '/');
-
 		}
 
 		if (is_null($https)) $https = Request::secure();