2009-04-13 206 views
4

我們希望將ASP.NET網站中的所有請求重定向到〜/ Default.aspx以關閉該網站。我們正在使用IIS7。該網站有這樣的路徑返回的頁面:IIS 7:將所有請求重定向到Default.aspx

http://test.com/operating

我們正在使用URL重寫。我們希望類似的請求被重定向到〜/ Default.aspx的

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

我們會normaly使用這樣的web.config中:

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

這裏的問題是,它不會重定向文件夾的網址這樣

http://test.com/ */

謝謝!

回答

2

你試過HttpRedirect? 儘管您必須先安裝該功能。

+0

是的,它幫助感謝!但是你不能重定向到同一個域,或者它會做無限重定向。但除此之外,它的工作!謝謝 – EtienneT 2009-04-14 14:56:32

0

如果沒有文件存在,你可以這樣做。

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

3

可以放置在任何ASP.NET應用程序的根命名App_Offline.htm文件。這導致取得任何.NET頁面請求並輸出htm文件的內容而不是請求的頁面。它實際上並不是一個重定向,但它是一個非常簡單的方法來取整個網站。如果需要,還可以使用標準元刷新將任何請求發送到新位置(只要記住不要在同一站點中的ASPX文件中這樣做)。

0

我會寫這樣的事情在Global.asax中(請注意,這只是一個例子,而不是產品代碼):

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

同時認爲,該代碼將打破non-ASP.NET請求當應用程序在集成模式下運行時(在其他情況下,它甚至會重定向對圖像等的請求)。

相關問題