【问题标题】:Default.aspx page won't load on IIS 6Default.aspx 页面不会在 IIS 6 上加载
【发布时间】:2025-12-24 06:40:16
【问题描述】:

运行 IIS 6,主网站使用 .net 4。我有很多子网站,主要运行 .net 4,浏览它们时 default.aspx 自动加载没有问题。但是,其中一个网站正在运行 .net 3.5,并且 default.aspx 在浏览到开放式 URL 时不会自行加载:http://127.0.0.1/TestApp 但是,如果我直接浏览到该文件,它可以正常工作:http://127.0.0.1/TestApp/Default.aspx

查看 .net 3.5 Web 应用程序下的文档,它确实将 Default.aspx 显示为“启用的默认内容页面”。如果我将应用程序切换到 .net 4.0,default.aspx 页面会自动加载。但我无法保留此设置,因为它是一个已编译的 Web 应用程序,并且在某些页面上出现错误并且无权更新代码。

有没有人看到这个问题并知道如何解决?任何帮助/想法都会很棒!

谢谢!

编辑

错误页面 无法找到该资源。 说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。

请求的网址:/licensure/eurl.axd/ce90d150037c2545966c2948cd3e2e7e/


版本信息:Microsoft .NET Framework 版本:2.0.50727.3053; ASP.NET 版本:2.0.50727.3053

【问题讨论】:

  • Default.aspx 在默认文档列表的顶部吗?此外,建议您将此应用程序放在与 .NET 4 应用程序不同的应用程序池中。你做到了吗?
  • 是的,它位于顶部,并且确实有自己的应用程序池。下面的答案解决了这个问题。

标签: asp.net iis iis-6


【解决方案1】:

您可能想查看此网站:http://www.vanadiumtech.com/OurBlog/post/2011/08/12/Cause-of-eurlaxd.aspx

似乎这与 .NET 4 的无扩展 URL 有关。

从上面的链接页面页面:

推荐的解决方案

如果禁用 v4.0 ASP.NET 无扩展 通过将 DWORD 设置为 IIS6 上的 URL 功能 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0\EnableExtensionlessUrls = 0 并重新启动 IIS,然后 ASP.NET 功能将被禁用,除非恶意客户端,否则您将不会在 URL 中看到“/eurl.axd/GUID” 向您的服务器发出此类请求。

我们的解决方案

在我们的案例中,解决方案来自 HeliconTech,他是 我们的 IIS 重写模块的提供者

http://www.helicontech.com/forum/15029-ASPNET_40_MVC_and_ISAPI_Rewrite_3.html

我们发现在我们做的时候 eurl.axd 被附加了 重定向。 eurl.axd 是在重定向之前添加的,所以 isapi 包含它,就好像它是 url 的正确部分一样。

例如,我们将 www 重定向到非 www。为了忽略 eurl.axd 部分,我不得不将规则更改为:

RewriteCond %{HTTPS}(打开)? RewriteCond %{HTTP:Host} ^www.(.+)$ [NC] RewriteCond %{REQUEST_URI} (.+)?重写规则 ^(.)(eurl.axd/.)$ http(?%1s)://%2/$1 [R=301,L]

如果您想另辟蹊径,将非 www 重定向到 www,这是一个 轻松更改:

RewriteCond %{HTTPS}(打开)? RewriteCond %{HTTP:Host} ^(?!www.)(.+)$ [NC] RewriteCond %{REQUEST_URI} (.+)?重写规则 ^(.)(eurl.axd/.)$ http(?%1s)://www.%2/$1 [R=301,L]

希望这会有所帮助,需要一段时间才能确定,但​​解决方案 在我们共享的环境中像魅力一样工作,而无需 通过禁用扩展少功能或影响所有客户 将所有内容迁移到 IIS7。

【讨论】:

  • 工作就像一个魅力。感谢您的快速回复!