Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.NET httpRedirect : redirect all pages except one

I use this code in the web.config in one of the folders of my website to redirect all pages to the root because I want to close permanently this 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>

But I need to make an exception to this rule : I don't want my page "default.aspx" to be redirect. How can I do that?

like image 218
NLemay Avatar asked Sep 06 '11 20:09

NLemay


2 Answers

Put your Default.aspx as <location> with disabled httpRedirect. It doesn't matter if you put <location> before or after <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>
like image 73
CZFox Avatar answered Oct 17 '22 07:10

CZFox


you can add a wildcard in the following manner, to redirect only certain files:

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

But i'm not sure if you can negate that, so that it ignores a certain file.

like image 33
shawty Avatar answered Oct 17 '22 07:10

shawty