映射扩展名为.asp的URL的路由

时间:2013-02-06 14:47:28

标签: asp.net-mvc iis asp.net-mvc-routing

我正在尝试创建一个遗留路由,将旧的asp链接重定向到新的URL。

我的路线如下,它是列表中的第一条路线:

routes.MapRoute(
    "", // Route name
    "{*path}", // URL with parameters
    new { controller = "Legacey", action = "Legacey" },
    new { path = @".*\.asp.*" });// Parameter defaults

我遇到的问题是IIS在它们到达我的路线之前拦截这些和404s。 我想web.config中有一个设置告诉IIS停止这样做但我找不到它。

1 个答案:

答案 0 :(得分:2)

您可以通过网址重写来完成此操作,如this post

中所述

只需将这样的内容添加到您的web.Config中(将Legacey / Legacey替换为asp页面的重定向URL):

<system.webServer> 
  <rewrite> 
    <rules> 
      <rule name="Redirect ASP Files to new URL" stopProcessing="true"> 
        <match url="*\.asp" /> 
        <action type="Redirect" url="Legacey/Legacey" appendQueryString="false" /> 
      </rule> 
    </rules> 
  </rewrite>
</system.webServer> 

我没有对此进行测试,这正是我从该帖子中所理解的。