我正在开发一个MVC Web应用程序。在本地测试
当我在托管服务器中部署此Web应用程序时,http://localhost:28847/Place/Malaysia完美无缺
http://videeows.com/Place/Malaysia 我收到404 - 找不到文件或目录。
该应用程序部署在服务器的asp.net 4.5版中。 什么可能出错?
机器中部署了其他MVC网站,效果很好。 我的MVC只是一个重定向。
http://videeows.com/Place/Malaysia这将重定向到http://videeows.com/Place.aspx?s=Malaysia&q=Coun
http://videeows.com会指向http://videeows.com/default.aspx
我的routeconfig是:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Place",
url: "Place/",
defaults: new { controller = "Place", action = "Index" }
);
routes.MapRoute(
name: "PlaceByCountry",
url: "Place/{country}",
defaults: new { controller = "Country", action = "IndexByCountry", country = "" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { id = UrlParameter.Optional });
}
答案 0 :(得分:0)
这不太可能是ASP .NET MVC代码的问题。它必须与您设置服务器的方式有关。虽然很难说它是什么。确保您的应用程序池支持您正在使用的.NET版本等。
答案 1 :(得分:0)
检查您正在使用的IIS服务器设置和应用程序池。只需触发并检查http://localhost:8080/ IIS是否正常工作 确保您的应用程序池支持您正在使用的.NET版本。
答案 2 :(得分:0)
我遇到了同样的问题:对于某些页面,我收到了404错误消息。实际上,服务器不会将URL的最后部分视为“id”,而是将文件夹名称视为。确实这个文件夹不存在。我认为当链接只是调用RedirectToAction到另一个函数时会发生这种情况......
解决方案可以是,而不是使用:
AreaName/ControllerName/FunctionName/IdReference
使用
AreaName/ControllerName/FunctionName?Id=IdReference