WordPress + Multisitio + IIS7, error de reescritura de URL con paginación y enlaces de 'Entradas anteriores' que causan 404

El uso de Multisite WordPress (3.3.2) en IIS7 con las reglas de reescritura de URL estándar provoca problemas con las barras diagonales finales y los enlaces de paginación

Por ejemplo, si visita un blog de varios sitios con una URL como esta: http://mydomain.com/bloga (sin barra diagonal final) el enlace 'Entradas anteriores' se convierte en http://mydomain.com/bloga/bloga/page/2/ -- duplica el slug del blog en la URL causando un error 404. Además, cualquier enlace de página anterior 1 2 3 4 5, etc. también tiene URL incorrectas.

Si visitas http://mydomain.com/bloga/ (con barra diagonal final) el enlace 'Entradas anteriores' es correcto http://mydomain.com/bloga/page/2/

Descubrí que el problema está presente en varios servidores, con instalaciones nuevas, sin temas y sin complementos de WordPress

Las reglas estándar de reescritura de URL son las siguientes:

<?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>

¿Alguien ha visto este problema o sabe de una solución? Gracias

preguntado el 12 de junio de 12 a las 16:06

Este problema se ha publicado en varias formas en línea sin soluciones reales, por ejemplo: wordpress.org/support/topic/… -

¿Tal vez abrir el ticket en Wordpress trac ya que es un error reproducible en vanilla wordpress? -

1 Respuestas

Reportado en WP Trac: http://core.trac.wordpress.org/ticket/18034

Anotado y con suerte se solucionará en una versión futura.

Respondido el 18 de junio de 12 a las 21:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.