2015-06-23 65 views
0

我已經完成了如何處理經典ASP站點的301重定向到新的ASP.NET MVC 5應用程序的任務。域名將保持不變。301將經典ASP請求重定向到ASP.NET MVC 5

Old Url: 
http://www.example.com/index_cityname.asp 

New Url (MVC): 
http://www.example.com/cityname 

系統將最有可能使用的是IIS 8.x中:什麼,我需要做的

例我正在Windows 8.1機器上開發,並且在功能中啓用了ASP。但是當我在瀏覽器中輸入一個.asp擴展名時,我得到了一個404.

我構建了一個自定義組件來分析傳入請求,然後檢查列表,如果存在,它將映射新的Response.RedirectPermanent(newPath ,真)到新路徑。唯一的問題是,它永遠不會被擊中。在生命週期早期的某個地方,應用程序會發現它是一個.asp請求,然後退出。

關於如何使301重定向工作從經典ASP到ASP.NET MVC 5使用相同的域名的任何想法?

回答

0

您可以使用web.config中的規則直接重定向。我試圖寫出您的用例,但也許您必須調整匹配的規則或目標操作以滿足您的需求。

添加到您的web.config:

<configuration> 
     <system.webServer> 
      <rewrite> 
       <rules> 
        <rule name="redirect classic asp" stopProcessing="true"> 
         <match url="index_(\w+)\.asp$" /> 
         <action type="Redirect" url="{R:1}" appendQueryString="true" /> 
        </rule> 
       </rules> 
      </rewrite> 
     </system.webServer> 
    </configuration> 

我不能進入的web.config文件重寫規則的所有細節,但最好的(容易)文檔,我能找到的是在這裏:Learn.IIS Rewrite Module

這裏也有一個參考:Rewrite Module Reference