【发布时间】:2011-08-06 08:00:13
【问题描述】:
我已经在我的 ASP.NET 应用程序和我的 IIS7 开发机器上创建了路由规则,一切正常。当我将解决方案部署到也具有 IIS7 的产品服务器时,我在访问 URL 时收到错误 404(找不到页面)。也许有人可以指出问题出在哪里?
实际错误
HTTP 错误 404.0 - 未找到 您正在寻找的资源是 已删除、已更改名称或已 暂时不可用。详细的 错误信息Module IIS Web Core 通知 MapRequestHandler 处理程序静态文件错误代码 0x80070002 请求的 URL http://xxx.xxx.xxx.xxx:80/pdf-button 物理路径 C:\www\pathtoproject\pdf-按钮登录 方法匿名登录用户匿名
我的实际代码
<add key="RoutePages" value="all,-forum/"/>
UrlRewrite.Init(ConfigurationManager.AppSettings["RoutePages"]);
public static class UrlRewrite
{
public static void Init(string routePages)
{
_routePages = routePages.ToLower().Split(new[] { ',' });
RegisterRoute(RouteTable.Routes);
}
static void RegisterRoute(RouteCollection routes)
{
routes.Ignore("{resource}.axd/{*pathInfo}");
routes.Ignore("favicon.ico");
foreach (string routePages in _routePages)
{
if (routePages == "all")
routes.MapPageRoute(routePages, "{filename}", "~/{filename}.aspx");
else
if (routePages.StartsWith("-"))
routes.Ignore(routePages.Replace("-", ""));
else
{
var routePagesNoExt = routePages.Replace(".aspx", "");
routes.MapPageRoute(routePagesNoExt, routePagesNoExt, string.Format("~/{0}.aspx", routePagesNoExt));
}
}
}
}
【问题讨论】:
-
你使用什么类型的路由? MVC ?
-
我使用 System.Web.Routing.RouteCollection 类(.NET 4.0)
-
你希望它被路由到什么 - pdf-button.aspx?我相信你已经意识到 0x80070002 = ERROR_FILE_NOT_FOUND
标签: asp.net iis-7 routing url-routing