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'.