Microsoft Azure Open Source Development Support Team Blog

Support for Open Source Technologies on Microsoft Azure App Service

WordPress MultiSite 404 on Admin Dashboard

If you are experiencing a 404 when switching to the dashboard of a given site, verify the web.config is accurate. We’ve found that older versions of WordPress have incorrect rules within web.config. Try the following web.config:

<?xml version="1.0" encoding="UTF-8"?>





  <rule name="WordPress Rule 1" stopProcessing="true">

     <match url="^index\.php$" ignoreCase="false" />

     <action type="None" />


  <rule name="WordPress Rule 2" stopProcessing="true">

     <match url="^([_0-9a-zA-Z-]+/)?wp-admin$" ignoreCase="false" />

     <action type="Redirect" url="{R:1}wp-admin/" redirectType="Permanent" />


  <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" />


     <action type="None" />


  <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 name="WordPress Rule 5" stopProcessing="true">

     <match url="^([_0-9a-zA-Z-]+/)?(.*\.php)$" ignoreCase="false" />

     <action type="Rewrite" url="{R:2}" />


   <rule name="WordPress Rule 6" stopProcessing="true">

     <match url="." ignoreCase="false" />

     <action type="Rewrite" url="index.php" />