Index: includes/common.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/common.inc,v retrieving revision 1.756.2.80 diff -u -p -r1.756.2.80 common.inc --- includes/common.inc 4 Mar 2010 00:25:13 -0000 1.756.2.80 +++ includes/common.inc 15 Apr 2010 14:44:13 -0000 @@ -1853,7 +1853,11 @@ function drupal_get_css($css = NULL) { // browser-caching. The string changes on every update or full cache // flush, forcing browsers to load a new copy of the files, as the // URL changed. - $query_string = '?'. substr(variable_get('css_js_query_string', '0'), 0, 1); + // Allow the query string identifier to be skipped, can be a performance + // problem in certain circumstances. See: http://drupal.org/node/721400 + if (!variable_get('skip_css_js_query_string', FALSE)) { + $query_string = '?'. substr(variable_get('css_js_query_string', '0'), 0, 1); + } foreach ($css as $media => $types) { // If CSS preprocessing is off, we still need to output the styles. @@ -2208,7 +2212,11 @@ function drupal_get_js($scope = 'header' // URL changed. Files that should not be cached (see drupal_add_js()) // get time() as query-string instead, to enforce reload on every // page request. - $query_string = '?'. substr(variable_get('css_js_query_string', '0'), 0, 1); + // Allow the query string identifier to be skipped, can be a performance + // problem in certain circumstances. See: http://drupal.org/node/721400 + if (!variable_get('skip_css_js_query_string', FALSE)) { + $query_string = '?'. substr(variable_get('css_js_query_string', '0'), 0, 1); + } // For inline Javascript to validate as XHTML, all Javascript containing // XHTML needs to be wrapped in CDATA. To make that backwards compatible