我有一个与文件路径同名的 Controller 操作。喜欢:

www.example.com/userfiles/path/to/userfile.jpg

基本上,我有一个userfiles Controller ,在indexaction上,userfiles /之后的所有内容都是一个路径。我的应用程序的根目录中还有一个userfiles虚拟目录。我想发生的是,如果紧随userfiles /的目录(在本例中为path)在userfiles虚拟目录中不存在,则对userfilesController使用index操作(如果该目录确实存在),则按原样使用路径。

这在运行iis 5的Windows xp dev机器上可以正常工作。但是,一旦将其移到实时服务器(Windows Server 2003 iis 6)上,我将收到404错误,好像路径不存在,而不是转到userfiles Controller 索引动作。

在路由文件中,我有:
routes.MapRoute(
    "Userfiles",                                       // Route name
    "userfiles/{*url}",                                // URL with parameters
    new { controller = "Userfiles", action = "Index" } // Parameter defaults
);

我想念什么?运行得很好。

最佳答案

因此,我发现我的问题是我们确实为该站点启用了通配符映射,但是由于性能原因,我们还为某些目录将其关闭了。我为有问题的目录重新启用了通配符,它​​开始像在我的开发箱中一样开始工作。喜悦!

07-28 09:05