<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul, pre { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[14871] trunk: update rewrite rules for IIS, props Frumph, see #12758</title>
</head>
<body>
<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.wordpress.org/changeset/14871">14871</a></dd>
<dt>Author</dt> <dd>wpmuguru</dd>
<dt>Date</dt> <dd>2010-05-25 05:12:47 +0000 (Tue, 25 May 2010)</dd>
</dl>
<h3>Log Message</h3>
<pre>update rewrite rules for IIS, props Frumph, see <a href="http://trac.wordpress.org/ticket/12758">#12758</a></pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkwpadminnetworkphp">trunk/wp-admin/network.php</a></li>
<li><a href="#trunkwpincludesmsfunctionsphp">trunk/wp-includes/ms-functions.php</a></li>
<li><a href="#trunkwpincludesrewritephp">trunk/wp-includes/rewrite.php</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkwpadminnetworkphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/network.php (14870 => 14871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/network.php        2010-05-25 02:47:43 UTC (rev 14870)
+++ trunk/wp-admin/network.php        2010-05-25 05:12:47 UTC (rev 14871)
</span><span class="lines">@@ -336,35 +336,119 @@
</span><span class="cx"> ?>
</span><span class="cx"> </li>
</span><span class="cx"> <?php
</span><del>-// Construct an htaccess file.
-$htaccess_file = 'RewriteEngine On
-RewriteBase ' . $base . '
-RewriteRule ^index\.php$ - [L]
-
-# uploaded files
-RewriteRule ^' . ( $subdomain_install ? '' : '([_0-9a-zA-Z-]+/)?' ) . 'files/(.+) wp-includes/ms-files.php?file=$' . ( $subdomain_install ? 1 : 2 ) . ' [L]' . "\n";
-
-if ( ! $subdomain_install )
-        $htaccess_file .= "\n# add a trailing slash to /wp-admin\n" . 'RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]' . "\n";
-
-$htaccess_file .= "\n" . 'RewriteCond %{REQUEST_FILENAME} -f [OR]
-RewriteCond %{REQUEST_FILENAME} -d
-RewriteRule ^ - [L]';
-
-// @todo custom content dir.
-if ( ! $subdomain_install )
-        $htaccess_file .= "\n" . 'RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
-RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]';
-
-$htaccess_file .= "\nRewriteRule . index.php [L]";
-
-?>
-                        <li><p><?php printf( __( 'Add the following to your <code>.htaccess</code> file in <code>%s</code>, replacing other WordPress rules:' ), ABSPATH ); ?></p>
-                                <textarea class="code" readonly="readonly" cols="100" rows="<?php echo $subdomain_install ? 11 : 16; ?>">
-<?php echo wp_htmledit_pre( $htaccess_file ); ?>
-</textarea></li>
</del><ins>+        if (iis7_supports_permalinks()) {
+                        if (is_subdomain_install()) {
+                                $web_config_file =
+'<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+ <system.webServer>
+ <rewrite>
+ <rules>
+ <rule name="WordPress Rule 1" stopProcessing="true">
+ <match url="^index\.php$" ignoreCase="false" />
+ <action type="None" />
+ </rule>
+ <rule name="WordPress Rule 2" stopProcessing="true">
+ <match url="^files/(.+)" ignoreCase="false" />
+ <action type="Rewrite" url="wp-includes/ms-files.php?file={R:1}" appendQueryString="false" />
+ </rule>
+ <rule name="WordPress Rule 3" stopProcessing="true">
+ <match url="^" ignoreCase="false" />
+ <conditions logicalGrouping="MatchAny">
+ <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" />
+ <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" />
+ </conditions>
+ <action type="None" />
+ </rule>
+ <rule name="WordPress Rule 4" stopProcessing="true">
+ <match url="." ignoreCase="false" />
+ <action type="Rewrite" url="index.php" />
+ </rule>
+ </rules>
+ </rewrite>
+ </system.webServer>
+</configuration>';
+                        } else {
+                                $web_config_file =
+'<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+ <system.webServer>
+ <rewrite>
+ <rules>
+ <rule name="WordPress Rule 1" stopProcessing="true">
+ <match url="^index\.php$" ignoreCase="false" />
+ <action type="None" />
+ </rule>
+ <rule name="WordPress Rule 2" stopProcessing="true">
+ <match url="^([_0-9a-zA-Z-]+/)?files/(.+)" ignoreCase="false" />
+ <action type="Rewrite" url="wp-includes/ms-files.php?file={R:2}" appendQueryString="false" />
+ </rule>
+ <rule name="WordPress Rule 3" stopProcessing="true">
+ <match url="^([_0-9a-zA-Z-]+/)?wp-admin$" ignoreCase="false" />
+ <action type="Redirect" url="{R:1}wp-admin/" redirectType="Permanent" />
+ </rule>
+ <rule name="WordPress Rule 4" stopProcessing="true">
+ <match url="^" ignoreCase="false" />
+ <conditions logicalGrouping="MatchAny">
+ <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" />
+ <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" />
+ </conditions>
+ <action type="None" />
+ </rule>
+ <rule name="WordPress Rule 5" stopProcessing="true">
+ <match url="^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*)" ignoreCase="false" />
+ <action type="Rewrite" url="{R:2}" />
+ </rule>
+ <rule name="WordPress Rule 6" stopProcessing="true">
+ <match url="^([_0-9a-zA-Z-]+/)?(.*\.php)$" ignoreCase="false" />
+ <action type="Rewrite" url="{R:2}" />
+ </rule>
+ <rule name="WordPress Rule 7" stopProcessing="true">
+ <match url="." ignoreCase="false" />
+ <action type="Rewrite" url="index.php" />
+ </rule>
+ </rules>
+ </rewrite>
+ </system.webServer>
+</configuration>';
+                        }
+        ?>
+                <li><p><?php printf( __( 'Add the following to your <code>web.config</code> file in <code>%s</code>, replacing other WordPress rules:' ), ABSPATH ); ?></p>
+                <textarea class="code" readonly="readonly" cols="100" rows="20">
+                <?php echo wp_htmledit_pre( $web_config_file ); ?>
+                </textarea></li>
</ins><span class="cx">                 </ol>
</span><del>-<?php if ( !is_multisite() ) { ?>
</del><ins>+        <?php } else {
+                // Construct an htaccess file.
+                $htaccess_file = 'RewriteEngine On
+                                RewriteBase ' . $base . '
+                                RewriteRule ^index\.php$ - [L]
+                                
+                                # uploaded files
+                                RewriteRule ^' . ( $subdomain_install ? '' : '([_0-9a-zA-Z-]+/)?' ) . 'files/(.+) wp-includes/ms-files.php?file=$' . ( $subdomain_install ? 1 : 2 ) . ' [L]' . "\n";
+                
+                if ( ! $subdomain_install )
+                        $htaccess_file .= "\n# add a trailing slash to /wp-admin\n" . 'RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]' . "\n";
+                
+                $htaccess_file .= "\n" . 'RewriteCond %{REQUEST_FILENAME} -f [OR]
+                                RewriteCond %{REQUEST_FILENAME} -d
+                                RewriteRule ^ - [L]';
+                
+                // @todo custom content dir.
+                if ( ! $subdomain_install )
+                        $htaccess_file .= "\n" . 'RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
+                                        RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]';
+                
+                $htaccess_file .= "\nRewriteRule . index.php [L]";
+                
+                ?>
+                <li><p><?php printf( __( 'Add the following to your <code>.htaccess</code> file in <code>%s</code>, replacing other WordPress rules:' ), ABSPATH ); ?></p>
+                <textarea class="code" readonly="readonly" cols="100" rows="<?php echo $subdomain_install ? 11 : 16; ?>">
+                <?php echo wp_htmledit_pre( $htaccess_file ); ?>
+                </textarea></li>
+                </ol>
+        <?php }
+        if ( !is_multisite() ) { ?>
</ins><span class="cx">                 <p><?php printf( __( 'Once you complete these steps, your network is enabled and configured. You will have to log in again.') ); ?> <a href="<?php echo esc_url( site_url( 'wp-login.php' ) ); ?>"><?php _e( 'Log In' ); ?></a></p>
</span><span class="cx"> <?php
</span><span class="cx">         }
</span></span></pre></div>
<a id="trunkwpincludesmsfunctionsphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/ms-functions.php (14870 => 14871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/ms-functions.php        2010-05-25 02:47:43 UTC (rev 14870)
+++ trunk/wp-includes/ms-functions.php        2010-05-25 05:12:47 UTC (rev 14871)
</span><span class="lines">@@ -1302,7 +1302,7 @@
</span><span class="cx">
</span><span class="cx"> function maybe_redirect_404() {
</span><span class="cx">         global $current_site;
</span><del>-        if ( is_main_site() && is_404() && defined( 'NOBLOGREDIRECT' ) && ( $destination = NOBLOGREDIRECT ) ) {
</del><ins>+        if ( ( !defined( 'NO404REDIRECT' ) || ! NO404REDIRECT ) && is_main_site() && is_404() && defined( 'NOBLOGREDIRECT' ) && ( $destination = NOBLOGREDIRECT ) ) {
</ins><span class="cx">                 if ( $destination == '%siteurl%' )
</span><span class="cx">                         $destination = network_home_url();
</span><span class="cx">                 wp_redirect( $destination );
</span></span></pre></div>
<a id="trunkwpincludesrewritephp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/rewrite.php (14870 => 14871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/rewrite.php        2010-05-25 02:47:43 UTC (rev 14870)
+++ trunk/wp-includes/rewrite.php        2010-05-25 05:12:47 UTC (rev 14871)
</span><span class="lines">@@ -1757,10 +1757,16 @@
</span><span class="cx">
</span><span class="cx">                 if ( ! $this->using_permalinks() )
</span><span class="cx">                         return '';
</span><del>-
</del><ins>+                $rules = '';
+                $extra_indent = '';
+                if ( $add_parent_tags ) {
+                        $rules .= "<configuration>".$end_of_line;
+                        $rules .= $indent."<system.webServer>".$end_of_line;
+                        $rules .= $indent.$indent."<rewrite>".$end_of_line;
+                        $rules .= $indent.$indent.$indent."<rules>".$end_of_line;
+                        $extra_indent = $indent.$indent.$indent.$indent;
+                }
</ins><span class="cx">                 if ( !is_multisite() ) {
</span><del>-                        $rules = '';
-                        $extra_indent = '';
</del><span class="cx">                         if ( $add_parent_tags ) {
</span><span class="cx">                                 $rules .= "<configuration>".$end_of_line;
</span><span class="cx">                                 $rules .= $indent."<system.webServer>".$end_of_line;
</span><span class="lines">@@ -1778,63 +1784,69 @@
</span><span class="cx">                         $rules .= $extra_indent.$indent."<action type=\"Rewrite\" url=\"index.php\" />".$end_of_line;
</span><span class="cx">                         $rules .= $extra_indent."</rule>";
</span><span class="cx">
</span><del>-                        if ( $add_parent_tags ) {
-                                $rules .= $end_of_line.$indent.$indent.$indent."</rules>".$end_of_line;
-                                $rules .= $indent.$indent."</rewrite>".$end_of_line;
-                                $rules .= $indent."</system.webServer>".$end_of_line;
-                                $rules .= "</configuration>";
</del><ins>+                } else {
+                        if (is_subdomain_install()) {
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 1\" stopProcessing=\"true\">".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^index\.php$\" ignoreCase=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"None\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 2\" stopProcessing=\"true\">".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^files/(.+)\" ignoreCase=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"Rewrite\" url=\"wp-includes/ms-files.php?file={R:1}\" appendQueryString=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 3\" stopProcessing=\"true\">".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^\" ignoreCase=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<conditions logicalGrouping=\"MatchAny\">".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent.$indent."<add input=\"{REQUEST_FILENAME}\" matchType=\"IsFile\" ignoreCase=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent.$indent."<add input=\"{REQUEST_FILENAME}\" matchType=\"IsDirectory\" ignoreCase=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."</conditions>".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"None\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 4\" stopProcessing=\"true\">".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\".\" ignoreCase=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"Rewrite\" url=\"index.php\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
+                        } else {
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 1\" stopProcessing=\"true\">".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^index\.php$\" ignoreCase=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"None\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 2\" stopProcessing=\"true\">".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^([_0-9a-zA-Z-]+/)?files/(.+)\" ignoreCase=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"Rewrite\" url=\"wp-includes/ms-files.php?file={R:2}\" appendQueryString=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 3\" stopProcessing=\"true\">".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^([_0-9a-zA-Z-]+/)?wp-admin$\" ignoreCase=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"Redirect\" url=\"{R:1}wp-admin/\" redirectType=\"Permanent\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 4\" stopProcessing=\"true\">".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^\" ignoreCase=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<conditions logicalGrouping=\"MatchAny\">".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent.$indent."<add input=\"{REQUEST_FILENAME}\" matchType=\"IsFile\" ignoreCase=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent.$indent."<add input=\"{REQUEST_FILENAME}\" matchType=\"IsDirectory\" ignoreCase=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."</conditions>".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"None\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 5\" stopProcessing=\"true\">".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*)\" ignoreCase=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"Rewrite\" url=\"{R:2}\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 6\" stopProcessing=\"true\">".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^([_0-9a-zA-Z-]+/)?(.*\.php)$\" ignoreCase=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"Rewrite\" url=\"{R:2}\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 7\" stopProcessing=\"true\">".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\".\" ignoreCase=\"false\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"Rewrite\" url=\"index.php\" />".$end_of_line;
+                                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
</ins><span class="cx">                         }
</span><del>-                } else {
-                        $siteurl = get_option( 'siteurl' );
-                        $siteurl_len = strlen( $siteurl );
-                        if ( substr( WP_CONTENT_URL, 0, $siteurl_len ) == $siteurl && strlen( WP_CONTENT_URL ) > $siteurl_len )
-                                $content_path = substr( WP_CONTENT_URL, $siteurl_len + 1 );
-                        else
-                                $content_path = 'wp-content';
-                        $rules = '<rule name="wordpress - strip index.php" stopProcessing="false">
-                                        <match url="^index.php/(.*)$" />
-                                                <action type="Rewrite" url="{R:1}" />
-                                        </rule>
-                                        <rule name="wordpress - 1" stopProcessing="true">
-                                                <match url="^(.*/)?files/$" />
-                                                <action type="Rewrite" url="index.php" />
-                                        </rule>
-                                        <rule name="wordpress - 2" stopProcessing="true">
-                                                <match url="^(.*/)?files/(.*)" />
-                                                <conditions>
-                                                        <add input="{REQUEST_URI}" negate="true" pattern=".*' . $content_path . '/plugins.*"/>
-                                                </conditions>
-                                                <action type="Rewrite" url="wp-includes/ms-files.php?file={R:2}" appendQueryString="false" />
-                                        </rule>
-                                        <rule name="wordpress - 3" stopProcessing="true">
-                                                <match url="^(.+)$" />
-                                                <conditions>
-                                                        <add input="{REQUEST_URI}" pattern="^.*/wp-admin$" />
-                                                </conditions>
-                                                <action type="Redirect" url="{R:1}/" redirectType="Permanent" />
-                                        </rule>
-                                        <rule name="wordpress - 4" stopProcessing="true">
-                                                <match url="."/>
-                                                <conditions logicalGrouping="MatchAny">
-                                                        <add input="{REQUEST_FILENAME}" matchType="IsFile" pattern="" />
-                                                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" pattern="" />
-                                                </conditions>
-                                                <action type="None" />
-                                        </rule>
-                                        <rule name="wordpress - 5" stopProcessing="true">
-                                                <match url="^([_0-9a-zA-Z-]+/)?(wp-.*)" />
-                                                <action type="Rewrite" url="{R:2}" />
-                                        </rule>
-                                        <rule name="wordpress - 6" stopProcessing="true">
-                                                <match url="^([_0-9a-zA-Z-]+/)?(.*\.php)$" />
-                                                <action type="Rewrite" url="{R:2}" />
-                                        </rule>
-                                        <rule name="wordpress - 7" stopProcessing="true">
-                                                <match url="." />
-                                                <action type="Rewrite" url="index.php" />
-                                        </rule>';
</del><span class="cx">                 }
</span><del>-
</del><ins>+                if ( $add_parent_tags ) {
+                        $rules .= $end_of_line.$indent.$indent.$indent."</rules>".$end_of_line;
+                        $rules .= $indent.$indent."</rewrite>".$end_of_line;
+                        $rules .= $indent."</system.webServer>".$end_of_line;
+                        $rules .= "</configuration>";
+                }
</ins><span class="cx">                 $rules = apply_filters('iis7_url_rewrite_rules', $rules);
</span><span class="cx">
</span><span class="cx">                 return $rules;
</span></span></pre>
</div>
</div>
</body>
</html>