使用ExtensionLessHandler处理aspx页面
本文关键字:页面 aspx 处理 ExtensionLessHandler 使用 | 更新日期: 2023-09-27 18:03:00
我有一个mvc应用程序,我需要重定向旧的url到一个新的格式。
这些旧的url用这种格式表示:"/busca/term/0/0/187236/0。(注意参数计数可能会有所不同),我需要将其重定向到"/term"。当我尝试处理RouteConfig
中的重定向时,它不会通过ExtensionlessUrlHandler
,而是通过StaticFile处理程序,这会导致重定向无法正确处理。
我不能禁用StaticFile
处理程序,因为我需要它的样式表和脚本。
我已经尝试了路由中的catchall参数,但它不起作用。我还试图启用StaticFile
处理程序只是css和js文件,并启用ExtensionlessUrlHandler
的aspx文件,但它也不起作用。
我只尝试了这条路由,但是,它不起作用:
routes.MapRoute(
"Default",
"{*path}",
new {controller = "Home", action = "Index"});
有人知道怎么做吗?
听起来您需要的是从UrlRoutingModule中删除managedHandler
先决条件。
<system.webServer>
<modules>
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
</modules>
</system.webServer>
这样,带扩展名的url将通过MVC路由运行,而不是直接到静态文件处理程序。
如果做不到这一点,请确保你的路由配置正确。