web-dev-qa-db-fra.com

Installation multisite sur IIS donne 404 essayant d'accéder au tableau de bord admin

Il semble y avoir un bogue dans le fichier web.config généré par WordPress, jusqu’à la version 4.7.2, où les règles de réécriture ne fonctionnent pas correctement pour accéder aux sites définis dans le réseau.

Lorsque vous utilisez, par exemple, un sous-répertoire pour la configuration multisites, la tentative d'accès à mysite.com/subsite/wp-admin/ génère une erreur 404.

2
Rodrigo Gómez

Selon ce problème sur le WordPress trac , le problème concerne les règles 4 et 5.

La solution consiste à modifier le paramètre url et à ajouter 1, au lieu de cela:

            <rule name="WordPress Rule 4" 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 5" stopProcessing="true">
                <match url="^([_0-9a-zA-Z-]+/)?([_0-9a-zA-Z-]+/)?(.*\.php)$" ignoreCase="false" />
                <action type="Rewrite" url="{R:2}" />
            </rule>

Tu as ceci:

            <rule name="WordPress Rule 4" 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 5" stopProcessing="true">
                <match url="^([_0-9a-zA-Z-]+/)?([_0-9a-zA-Z-]+/)?(.*\.php)$" ignoreCase="false" />
                <action type="Rewrite" url="{R:3}" />
            </rule>

Cette modification permet à la fonctionnalité multisite de fonctionner.

2
Rodrigo Gómez