在URL中需要“.cshtml”的MVC路由

时间:2013-11-06 07:23:44

标签: asp.net-mvc asp.net-mvc-4 razor asp.net-mvc-routing

我有一个运行正常的MVC4网站。尝试发布到生产路由时不起作用。我唯一的规则是默认:

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "General", action = "Index", id = UrlParameter.Optional }
        );

但是,在生产服务器(IIS7.5 - 就像dev)上,404上的任何一个都失败了:

<domain>/Home
<domain>/Home/Index

平原<domain>/在403上失败。

注意:使用route debugger

时完成所有这些操作

我四处乱窜,偶然发现了以下好奇心:

<domain>/Home/Index.cshtml/3

实际上把我带到路线调试页面,声称匹配

controller  Home
action      Index.cshtml 
id          61 

更多的播放表明“。cshtml”的位置并不重要,只要它在那里就可以工作。例如<domain>/.cshtml/Index/4匹配

controller  .cshtml 
action      Index 
id          4

为什么需要“。cshtml”字符串,我该怎么办呢?

0 个答案:

没有答案