WordPress + Multisite + IIS7, URL Rewrite bug with pagination and 'Older Entries' links causing 404

Using Multisite WordPress (3.3.2) on IIS7 with the standard URL Rewrite rules causes issues with trailing slashes and the pagination links

For example, if you visit a multisite blog with a URL like this: http://mydomain.com/bloga (without trailing slash) the 'Older Entries' link becomes http://mydomain.com/bloga/bloga/page/2/ -- it doubles up the blog slug in the URL causing a 404 error. Additionally any previous page link 1 2 3 4 5 etc have bad URL's as well.

If you visit http://mydomain.com/bloga/ (with trailing slash) the 'Older Entries' link is correctly http://mydomain.com/bloga/page/2/

I have found the issue to be present across multiple servers, with fresh, theme-less and plugin-less installations of WordPress

The standard URL Rewrite rules are as follows:

<?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:1}" />
                </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>

Has anyone seen this problem or know of a solution? Thank you

Answers


Reported on WP Trac: http://core.trac.wordpress.org/ticket/18034

Noted and hopefully will be fixed in future version


Need Your Help

Bamboo/grails error 2.4.4 Error Script not found: Upgrade

grails bamboo

When I run grails war, on Bamboo, I get the following error.

How to iterate on a Hashmap in html template

templates playframework hashmap playframework-2.0

I am new to play 2.0 and I am looking for a way to iterate a hashmap in a html template.