Index: boost.module
===================================================================
RCS file: /var/cvsroot/contributions/modules/boost/boost.module,v
retrieving revision 1.1.1.1
retrieving revision 1.3
diff -u -p -r1.1.1.1 -r1.3
--- boost.module	7 Oct 2007 20:51:17 -0000	1.1.1.1
+++ boost.module	27 Oct 2007 01:35:23 -0000	1.3
@@ -114,6 +114,17 @@ function boost_init() {
         $GLOBALS['_boost_path'] = $_GET['q'];
         ob_start('_boost_ob_handler');
       }
+      else if (count($_GET) > 1 && boost_is_cacheable($_GET['q'])) {
+        // also cache pages with query strings.
+        $GLOBALS['_boost_path'] = $_GET['q'];
+        $query_array = $_GET;
+        array_shift($query_array);
+        foreach ($query_array AS $key => $value) {
+           $query_tokens[] = $key . '=' . $value;
+        }
+        $GLOBALS['_boost_path'] .= '_' . implode('&', $query_tokens);
+        ob_start('_boost_ob_handler');
+      }
     }
   }
 
Index: boost.api.inc
===================================================================
RCS file: /var/cvsroot/contributions/modules/boost/boost.api.inc,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -p -r1.1.1.1 -r1.2
--- boost.api.inc	7 Oct 2007 20:51:17 -0000	1.1.1.1
+++ boost.api.inc	27 Oct 2007 01:35:23 -0000	1.2
@@ -185,7 +185,7 @@ function boost_file_path($path) {
   }
 
   // Convert any other undesirable characters in the path to underscores
-  $path = preg_replace('@[^/a-z0-9_-]@i', '_', $path);
+  $path = preg_replace('@[^/a-z0-9_\-&=]@i', '_', $path);
 
   return boost_cache_directory() . '/' . $path . BOOST_FILE_EXTENSION;
 }
Index: htaccess/boosted.txt
===================================================================
RCS file: /var/cvsroot/contributions/modules/boost/htaccess/boosted.txt,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -p -r1.1.1.1 -r1.2
--- htaccess/boosted.txt	7 Oct 2007 20:51:17 -0000	1.1.1.1
+++ htaccess/boosted.txt	27 Oct 2007 01:35:23 -0000	1.2
@@ -130,6 +130,14 @@ DirectoryIndex index.php
   RewriteCond %{HTTP_COOKIE} !DRUPAL_UID
   RewriteCond %{DOCUMENT_ROOT}/cache/%{SERVER_NAME}/0%{REQUEST_URI}.html -f
   RewriteRule ^(.*)$ cache/%{SERVER_NAME}/0/$1.html [L]
+  RewriteCond %{REQUEST_METHOD} ^GET$
+  RewriteCond %{REQUEST_URI} !^/cache
+  RewriteCond %{REQUEST_URI} !^/user/login
+  RewriteCond %{REQUEST_URI} !^/admin
+  RewriteCond %{QUERY_STRING} ^(.*)$
+  RewriteCond %{HTTP_COOKIE} !DRUPAL_UID
+  RewriteCond %{DOCUMENT_ROOT}/cache/%{SERVER_NAME}/0%{REQUEST_URI}_%1.html -f
+  RewriteRule ^(.*)$ cache/%{SERVER_NAME}/0/$1_%1.html [L,NE]
   # BOOST END
 
   # Rewrite current-style URLs of the form 'index.php?q=x'.

