none
Wordpress & SBS 2011/IIS 7.5 - web.config file in wwwroot causing OWA and RWW to crash - 403.18 Forbidden

    General discussion

  • I have installed Wordpress on a new SBS 2011 Standard server, by using the WPI.

    The default installation location is in a subfolder of wwwroot, called wordpress.

    In order to have my WP site be the default site called, I made the change to the index.php file and copied it to wwwroot:

    require('./wordpress/wp-blog-header.php');

    When browsing the WP site, the URL would read, http://mydomain.com/wordpress/page-name, as per my permalink setting.

    To remove the /wordpress/ in my URL's, I added this rewite rule I found on the web, to web.config and placed it in the wwwroot folder:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
    <rewrite>
    <rules>
    <rule name="Main Rule" stopProcessing="true">
    <match url=".*" />
    <conditions logicalGrouping="MatchAll">
    <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>

    This effectively removes /wordpress/ from my URL's, and my site correctly displays http://mydomain.com/page-name; the desired effect.

    Unfortunately, this rewrite rule (web.config file) also causes my OWA and RWW to crash and return a 403.18 Forbidden error.

    If I remove this web.config file from wwwroot, OWA and RWW work perfectly.

    I am using a GoDaddy UCC SSL cert, if that makes any difference.

    My question is, how can I allow this rewrite rule to coexist with OWA and RWW?

    Thank you.

    Friday, September 20, 2013 1:23 AM

All replies

  • This is how I fixed the 403.18 issue with OWA, RWW and Wordpress: you have to declare the URL you do not want to rewrite, which is remote.domainname.com. Change domainname to your domain, in the bold example below.

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                   <rule name="Main Rule" stopProcessing="true">
        <match url=".*" />
        <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            <add input="{HTTP_HOST}" pattern="^remote\.domainname\.com$" negate="true" />
        </conditions>
        <action type="Rewrite" url="index.php" />
    </rule>
                </rules>
            </rewrite>
        </system.webServer>
    </configuration>

    This has been working for me at two different clients, for years now.


    • Edited by SBinninger Thursday, October 22, 2015 7:16 PM
    Thursday, October 22, 2015 7:04 PM