Drupal clean URLs on IIS 7
Submitted by Heine on Thu, 16/10/2008 - 08:57.
To get Clean URLs working on IIS 7, install the new URL rewriter module (x86, x64) and add the following to the system.webServer section of the sites' web.config:
<rewrite>
<rules>
<rule name="Drupal clean URLs" enabled="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" negate="true" pattern="/favicon.ico$" />
</conditions>
<action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
<rules>
<rule name="Drupal clean URLs" enabled="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" negate="true" pattern="/favicon.ico$" />
</conditions>
<action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
You also need to install a hotfix to correct REQUEST_URI behaviour when using PHP via the FastCGI module. See KB954946 for more information. A symptom of this problem is when all form submissions get redirected to the frontpage of the site.
Update: You may want to look into the Microsoft Web Platform, which contains an installer for Acquia Drupal.
Awesome help! However, where do I add that code to.
Submitted by Cheatah (not verified) on Fri, 27/03/2009 - 16:48.Where do I add the code? Do I need to create a web.config file in the directory?
Nevermind Figured it out.
Submitted by Cheatah (not verified) on Fri, 27/03/2009 - 16:52.You can just create a web.config from scratch and put the following info:
<?xml version="1.0" encoding="utf-8" ?>
Configuration tag
Submitted by Heine on Thu, 21/05/2009 - 08:14.If you later try to configure your site, IIS complains loudly when there's no configuration tag. Use the following template to prevent this.
<configuration>
<system.webServer>
</system.webServer>
</configuration>
The rewrite block then goes inside the
system.webServersection.Post new comment