This is a summary of: #615474: Support for IIS 7 and applies to IIS 7 and IIS 7.5 with IIS Rewrite Module 2.0 module. Installation and configuration of the Boost 7.x and 6.x module itself are the same for IIS as any other webserver, with the exception of the following:

1. Make sure IIS Rewrite Module 2.0 is enabled. If you have IIS Rewrite, you need to upgrade for this to work. See http://www.iis.net/download/URLRewrite for info on this module. Note install of this module requires a server restart!

2. Add CONTENT_TYPE to allowed server variables. In the IIS Server Manager, go into URL Rewrite feature of the site. Click 'View Server Variables...' and add CONTENT_TYPE as an allowed server variable. If you don't do this you'll get a 500 error due no permissions to change the CONTENT_TYPE variable below. If you do not see the 'View Server Variables...' configuration option, you may have IIS Rewrite module 1.0 installed.

3. Add the rewrite rules. The attached files rewrite rules (boost_iis_7_with_IIS_rewrite_II_module.txt) should be added to your sites web.config list, before the Drupal clean URLs rule. The second attachment (default_web_config_with_boost_rules_in_it.txt) is the boost rules included in the default web.config that ships with drupal 7.

4. To test, clean cache and then confirm that pages that should be boost cached have a boost stamp at the very bottom of the html source. Example:
<!-- Page cached by Boost @ 2012-01-01 00:00:00, expires @ 2012-01-01 00:30:00, lifetime X hours -->

Comments

vood002’s picture

Just wanted to leave a quick note in case anyone is wondering: These instructions are working for me on Boost 6.x, IIS7 as well.

azinck’s picture

This is mostly working for me. It does not, however, work on URLs that have a percent (%) sign in the querystring. I'm no IIS expert but it seems that these links address this issue somewhat:
http://serverfault.com/questions/257680/properly-handle-iis-request-with...
http://www.hanselman.com/blog/ExperimentsInWackinessAllowingPercentsAngl...

I've not yet managed to come up with a rule that handles the % signs properly. In the meantime I've just added a condition to the Boost rules that checks for a % in the querystring and skips doing the rewrite if one exists.