我有一个与文件路径名称相同的控制器操作。像:ASP.NET MVC路由和文件路径
www.example.com/userfiles/path/to/userfile.jpg
基本上我有一个userfiles控制器和索引操作后userfiles /是一个路径的一切。在我的应用程序的根目录中还有一个userfiles虚拟目录。我想要发生的是,如果在userfiles虚拟目录中不存在userfiles /(在这种情况下,路径)后面的目录,则在userfilesController上使用index action(如果该目录存在),然后使用该路径。
这在我运行iis 5的windows xp dev机器上完美运行。但是,一旦我将它移动到活动服务器(Windows Server 2003 iis 6),我得到一个404错误,就好像路径不存在而不是到userfiles控制器索引操作。
在routes文件我有:
routes.MapRoute(
"Userfiles", // Route name
"userfiles/{*url}", // URL with parameters
new { controller = "Userfiles", action = "Index" } // Parameter defaults
);
我缺少什么?它工作得很好。
你如何让你的iis6运行mvc无扩展路由? - 您是否使用通配符映射,URL重写,* .mvc扩展名或其他解决方法? – Christian13467 2010-08-20 20:29:54
我想我们正在使用通配符映射。 – smartdirt 2010-08-20 20:47:57