IIS6 上的 ASP.net 4.0 default.aspx 问题

问题描述:

我在 Windows 2003 Enterprise x64 上安装了 .net framework 4,编写了简单的 asp.net 4.0 应用程序(仅限 default.aspx 页面).如果请求是针对 default.aspx 而不是根站点,则该应用程序运行良好:

I installed .net framework 4 on my windows 2003 enterprise x64, wrote simple asp.net 4.0 application (default.aspx page only). The application works great if request is to default.aspx, not to the root site:

contoso.com/- 不起作用(出现 404 错误)

contoso.com/ - doesn't work (Get 404 error)

contoso.com/default.aspx - 有效.

contoso.com/default.aspx - works.

Default.aspx 位于 IIS 的默认文档列表中.请帮忙.

Default.aspx is in list of default documents in IIS. Please help.

在看似无关的位置找到了修复程序 - 尝试将EnableExtensionlessUrls"注册表项设置为 0:

Found a fix in a seemingly unrelated location - try setting the "EnableExtensionlessUrls" registry key to 0:

ASP.NET4 重大变化 -> ASP.NET 2.0 应用程序可能会生成引用 eurl.axd 的 HttpException 错误:

在 Windows 注册表中,打开以下节点:HKEY_LOCAL_MACHINESOFTWAREMicrosoftASP.NET4.0.30319.0

In the Windows registry, open the following node: HKEY_LOCAL_MACHINESOFTWAREMicrosoftASP.NET4.0.30319.0

  1. 创建一个名为 EnableExtensionlessUrls 的新 DWORD 值.
  2. 将 EnableExtensionlessUrls 设置为 0.这将启用无扩展名 URL 行为.
  3. 保存注册表值并关闭注册表编辑器.
  4. 运行 iisreset 命令行工具,这会导致 IIS 读取新的注册表值.