2011-01-05 16 views
0

我們仍然有很多傳入的網址指向我們舊的.asp頁面。新的.aspx頁面被稱爲與舊的.asp頁面相同,並且接受大多數相同的值,所以它們幾乎可以互換。不幸的是,我們仍然對舊的.asp頁面同時獲得POST和GET請求。 我們在我們的web.config中添加該(system.webserver節)來處理我們Asp.Net 2.0的應用程序,這些.asp的請求:在IIS 7.5上使用Asp.Net 4.0處理舊* .asp鏈接的最佳方法是什麼?

<handlers> 
     <add name="ASPClassicForRedirectToASPX" 
      path="*.asp" 
      verb="*" 
      modules="IsapiModule" 
       scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" 
      resourceType="Unspecified" 
      preCondition="classicMode,runtimeVersionv4.0,bitness32" /> 
    </handlers> 

,然後在檢查的BeginRequest如果URL以.asp結束,如果是這樣,做一個RewritePath到.aspx

現在我們已經遷移到asp.net 4.0,我開始懷疑是否有更好的方法來處理這個問題,並仍舊保持與舊的.asp URL的向後兼容性?

回答

0

什麼,如果不是媒體鏈接的情況下,我會做的是類似的東西在的BeginRequest,而不是URL重寫(如果可能):

Response.Clear(); 
Response.Status = "301 Moved Permanently"; 
Response.AddHeader("Location","New-url"); 
Response.End(); 

使用301永久重定向,你會確保所有爬蟲類的東西會改變他們的鏈接到正確的一個,應該減少很多你打到你的.asp頁面的電話。除此之外,你在某些時候被卡在舊的直接鏈接到你的ASP頁面,我猜你必須讓他們離開。不能永遠支持舊的東西,即使是tho,這將是真棒:)

相關問題