在 MVC 3 中我没有问题,但现在我已经去了 MVC 4。
URL 如下所示:
{controller}/{action}/{id}
/podcast/file/PODCAST-01.MP4
其中 PODCAST-01.MP4 是 id;当它到达控制器时,控制器会将文件发送给客户端,这样做是为了让我们可以轻松计算有多少人下载了该文件。
但是,现在,Web 服务器认为那里应该有一个文件并给出 404 错误。我试图通过制作自己的 404 错误页面然后使用 /podcast/file?id=PODCAST-01.MP4 重定向回来来解决这个问题,但这不起作用,因为 iTunes 不喜欢它,它不喜欢这 ”?”。
我尝试创建一条新路线:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}.{format}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, format = UrlParameter.Optional });
但这似乎刚刚破坏了路由。任何帮助都会很棒。