Merge pull request #3384 from ster/develop

issue #2349 : Page caching with querystring
diff --git a/system/core/Output.php b/system/core/Output.php
index 8b7d6ef..081423c 100644
--- a/system/core/Output.php
+++ b/system/core/Output.php
@@ -564,6 +564,9 @@
 			.$CI->config->item('index_page')
 			.$CI->uri->uri_string();
 
+		// append querystring
+		empty($_SERVER['QUERY_STRING']) OR $uri .= '?'.$_SERVER['QUERY_STRING'];      
+
 		$cache_path .= md5($uri);
 
 		if ( ! $fp = @fopen($cache_path, 'w+b'))
@@ -648,6 +651,9 @@
 
 		// Build the file path. The file name is an MD5 hash of the full URI
 		$uri =	$CFG->item('base_url').$CFG->item('index_page').$URI->uri_string;
+		// append querystring
+		empty($_SERVER['QUERY_STRING']) OR $uri .= '?'.$_SERVER['QUERY_STRING'];
+
 		$filepath = $cache_path.md5($uri);
 
 		if ( ! file_exists($filepath) OR ! $fp = @fopen($filepath, 'rb'))
@@ -727,6 +733,9 @@
 			$uri = $CI->uri->uri_string();
 		}
 
+		// append querystring
+		empty($_SERVER['QUERY_STRING']) OR $uri .= '?'.$_SERVER['QUERY_STRING'];
+
 		$cache_path .= md5($CI->config->item('base_url').$CI->config->item('index_page').$uri);
 
 		if ( ! @unlink($cache_path))
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index f01ff8a..f336b3a 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -500,6 +500,7 @@
       -  Added methods ``get_content_type()`` and ``get_header()``.
       -  Added method ``delete_cache()``.
       -  Changed caching behavior to compress the output before storing it, if ``$config['compress_output']`` is enabled.
+      -  Added querystring to page caching.
 
    -  :doc:`Config Library <libraries/config>` changes include: