tags:

views:

2002

answers:

4

We want to redirect all request in an ASP.NET site to ~/Default.aspx to close the site. We are using IIS7. The site has paths like this that return a page:

http://test.com/operating

We are using url rewriting. We want requests similar to those to be redirected to ~/Default.aspx

http://test.com// http://test.com/.aspx http://test.com//.aspx

We would normaly use something like this in web.config:

    <customErrors mode="On" defaultRedirect="Default.aspx">
        <error statusCode="404" redirect="Default.aspx" />
    </customErrors>

The problem with this is that it won't redirect folder url like this

http://test.com/*/

Thanks!

+1  A: 

Have you tried HttpRedirect? You'll have to install the feature first though.

Arkain
Yep it helped thanks! But you can't make a redirect to the same domain or it'll do an infinite redirect. But other than that it worked! Thanks
EtienneT
A: 

You could do this if no files exist anymore.

  <system.webServer>
    <httpErrors errorMode="Custom">
        <remove statusCode="404" subStatusCode="-1" />
        <error statusCode="404" prefixLanguageFilePath="" path="/Default.aspx" responseMode="ExecuteURL" />
    </httpErrors>

Bernesto
+1  A: 

You can place a file named App_Offline.htm in the root of any ASP.NET application. This results in taking ANY .NET page request and outputting the contents of the htm file instead of the requested page. It isn't actually a redirect, but it is a very simple way to take an entire site down. If you need to, you can also use a standard meta refresh to send any requested to a new location (just remember not to do so to an ASPX file in the same site).

Peter
A: 

I would write something like this in Global.asax (mind you, it's just an example, not production-ready code):

Application_BeginRequest(object sender, EventArgs e) {
    if(!Request.Url.ToString().ToLowerInvariant().Contains("default.aspx")) {
        Response.Redirect("Default.aspx");
    }
}

Also consider that this code will break non-ASP.NET requests when the application is running in Integrated Mode (in other it will redirect even requests for images and such).

Dario Solera