【发布时间】:2010-08-20 20:24:31
【问题描述】:
我有一个与文件路径同名的控制器操作。喜欢:
www.example.com/userfiles/path/to/userfile.jpg
基本上,我有一个 userfiles 控制器,并且在 index 操作中 userfiles/ 之后的所有内容都是路径。在我的应用程序的根目录中还有一个 userfiles 虚拟目录。我想要发生的是,如果 userfiles 虚拟目录中不存在 userfiles/ 之后的目录(在这种情况下为路径),则如果该目录确实存在,则使用 userfilesController 上的 index 操作,然后使用路径原样.
这在我运行 iis 5 的 windows xp 开发机器上完美运行。但是,一旦我将它移动到实时服务器(Windows server 2003 iis 6),我得到一个 404 错误,好像路径不存在而不是去userfiles 控制器索引操作。
在我的路由文件中:
routes.MapRoute(
"Userfiles", // Route name
"userfiles/{*url}", // URL with parameters
new { controller = "Userfiles", action = "Index" } // Parameter defaults
);
我错过了什么?它工作得很好。
【问题讨论】:
-
如何让您的 iis6 使用基于 mvc 无扩展的路由运行? - 您是否使用了通配符映射、url 重写、*.mvc 扩展名或任何其他解决方法?
-
我认为我们正在使用通配符映射。
标签: .net asp.net-mvc routing