Remove index.php from wordpress URLs in iis7 Remove index.php from wordpress URLs in iis7 wordpress wordpress

Remove index.php from wordpress URLs in iis7


Use this web.config

(web.config is the IIS equivalent to .htaccess file in apache webservers. It can be found in the root folder. If there is none, you need to create one.)

<?xml version="1.0" encoding="UTF-8"?><configuration><system.webServer> <defaultDocument>     <!-- Set the default document -->      <files>        <remove value="index.php" />        <add value="index.php" />      </files>    </defaultDocument>        <httpErrors errorMode="Detailed"/>    <rewrite>        <rules>            <rule name="wordpress" patternSyntax="Wildcard">                <match url="*" />                    <conditions>                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />                    </conditions>                <action type="Rewrite" url="index.php" />            </rule>        </rules>    </rewrite></system.webServer></configuration>

Then in permalinks page, set "Custom Structure" and give the value /%postname%/

Note that URL Rewrite module specific to IIS version needs to be installed for this to function(Thanks to @Spikolynn's comment below)


Another pretty quick solution, in a situation where you uses Windows Azure websites, is to use Microsoft WebMatrix to login into your website and just create a web.config file as this article pointed out. That solves it. No need to install a URL Rewrite extension or anything like that yourself. MS Webmatrix seem to solve the problem easily.