我有一個與文件路徑名稱相同的控制器操作。像: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