Default.aspx页面不会加载在IIS上6

问题描述:

使用.net 4运行带有主站点的IIS 6.我有许多子网站,主要运行.net 4,当浏览它们时,default.aspx自动加载而没有问题。但是,其中一个网站正在运行.net 3.5和default.aspx在浏览到开放式网址时不会自行加载:http://127.0.0.1/TestApp但是,如果我直接浏览到文件,它可以正常工作:http://127.0.0.1/TestApp/Default.aspxDefault.aspx页面不会加载在IIS上6

查看.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

+0

'Default.aspx'在默认文档列表的顶部吗?此外,建议您将此应用程序放置在与.NET 4应用程序不同的应用程序池中。你做到了吗? – 2012-02-16 17:21:41

+0

是的,它在顶部,它有自己的应用程序池。下面的答案解决了这个问题。 – Clarke76 2012-02-16 18:13:38

你可能想看看这个网站:http://www.vanadiumtech.com/OurBlog/post/2011/08/12/Cause-of-eurlaxd.aspx

看来,这与.NET 4的扩展名的URL来办。

从上面的链接页面页面:

建议解决方案

如果您通过 HKEY_LOCAL_MACHINE \ SOFTWARE设置一个DWORD禁用IIS6的V4.0 ASP.NET扩展名 URL功能\ Microsoft \ ASP.NET \ 4.0.30319.0 \ EnableExtensionlessUrls = 0并重新启动IIS,那么ASP.NET功能将被禁用,并且您将不会在您的URL中看到“/eurl.axd/GUID”,除非恶意客户端 问题这样的请求给y我们的服务器

我们修复

在我们的情况下,解决方案从HeliconTech出来谁是 提供我们的IIS重写模块的

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

我们发现eurl.axd正在追加时我们正在做一个 重定向。 eurl.axd是在重定向之前添加的,因此isapi 将它包括在内,就好像它是url的正确部分。

例如,我们将www重定向到非www。为了忽略eurole的 。axd部分,我必须将规则更改为:

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

如果你想要去的其他方式和重定向非www到www,这是一个 易于更改:

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

希望这有助于,过了好一会儿但是解决方案 在我们的共享环境中像魅力一样工作,而无需通过禁用扩展少功能或 将所有内容迁移到IIS7来影响所有客户。

+0

工作就像一个魅力。谢谢你的快速反应! – Clarke76 2012-02-16 17:47:39