web-dev-qa-db-fra.com

ASP.NET httpRedirect: redirige toutes les pages sauf une

J'utilise ce code dans le web.config dans l'un des dossiers de mon site Web pour rediriger toutes les pages vers la racine car je veux fermer définitivement cette section.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <location>
    <system.webServer>
      <httpRedirect enabled="true" destination="http://www.example.com/" httpResponseStatus="Permanent" />
    </system.webServer>
  </location>
</configuration>

Mais je dois faire une exception à cette règle: je ne veux pas que ma page "default.aspx" soit redirigée. Comment puis je faire ça?

22
NLemay

vous pouvez ajouter un caractère générique de la manière suivante, pour rediriger uniquement certains fichiers:

    <configuration>
       <system.webServer>
          <httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Found">
             <add wildcard="*.php" destination="/default.htm" />
          </httpRedirect>
       </system.webServer>
    </configuration>

Mais je ne sais pas si vous pouvez annuler cela, afin qu'il ignore un certain fichier.

12
shawty

Mettez votre Default.aspx comme <location> avec httpRedirect désactivé. Peu importe si vous mettez <location> avant ou après <system.webServer>.

<configuration>
    <system.webServer>
        <httpRedirect enabled="true" destination="http://www.example.com/" exactDestination="true" httpResponseStatus="Permanent" />
    </system.webServer>
    <location path="Default.aspx">
        <system.webServer>
            <httpRedirect enabled="false" />
        </system.webServer>
    </location>
</configuration>
39
CZFox