【发布时间】:2016-11-16 11:29:01
【问题描述】:
我见过很多类似的问题,但它们都集中在我已经完成的这项任务的第一部分。如果我错过了回答我的问题的人,请告诉我。
我有一个运行 ASP .NET MVC5 站点的 IIS 7.5 服务器。作为我添加的路线的一部分:
routes.MapRoute(
name: "Default",
url:"{*url}",
defaults: new { controller = "Home", action = "NotFound" }
);
这条路线充当我的 404 操作。
在我的 web.config 中,我还有:
<modules runAllManagedModulesForAllRequests="true">
结果是我现在将我的 404 通常定义为 MVC 操作,但它会响应所有 URL,包括以下内容:
/error
/err.or
/e/r/r/o/r
但是今天我注意到如果我尝试这条路线它会失败:
/error.
也就是说,任何以句点或点结尾的路线都给了我典型的:
Server Error in '/' Application.
The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
Requested URL: /error.
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.34280
我在另一个项目中有类似的设置,它适用于以点结尾的 URL,但我不知道这两个项目之间有什么不同。有什么想法我可能做错了吗?或者是什么捕获了这条路线?或者是什么排除了这条路由通过 ASP .Net 处理?
【问题讨论】:
标签: asp.net asp.net-mvc iis iis-7.5