ネットワークで定義されたサイトにアクセスするために必要に応じて書き換えルールが機能しない、バージョン4.7.2までのWordPressによって生成されたweb.config
ファイルにバグがあるようです。
たとえば、マルチサイト設定にsub-dirを使用している場合、mysite.com/subsite/wp-admin/
にアクセスしようとすると404エラーが発生します。
WordPress tracでのこの問題 によると、問題はルール4と5です。
解決策は、urlパラメータを変更して1を追加することです。
<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>
これがあります。
<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>
この変更を行うと、マルチサイト機能が機能します。