使用主网站运行IIS 6使用.net 4.我有许多子网站,其中大多数运行.net 4,当浏览到它们时,default.aspx自动加载没有问题。但是,其中一个网站正在运行.net 3.5,并且当浏览到开放式网址时,default.aspx不会自行加载:http://127.0.0.1/TestApp但是如果我直接浏览到该文件,它可以正常工作:{ {3}}
查看.net 3.5 Web应用程序下的文档,它确实将Default.aspx显示为"启用的默认内容页面。"如果我将应用程序切换到.net 4.0,则default.aspx页面会自动加载。我不能保留此设置,因为它是一个已编译的Web应用程序,并且在某些页面上出错,并且无法更新代码。
有没有人见过这个问题,知道如何解决?任何帮助/想法都会很棒!
谢谢!
修改
错误页面 无法找到该资源。 说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。
请求的网址:/licensure/eurl.axd/ce90d150037c2545966c2948cd3e2e7e /
版本信息:Microsoft .NET Framework版本:2.0.50727.3053; ASP.NET版本:2.0.50727.3053
答案 0 :(得分:3)
您可能希望查看此网站: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 \微软\ 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 包括它就好像它是网址的正确部分。
例如,我们将www重定向到非www。为了忽略了 eurl.axd部分,我不得不将规则改为:
RewriteCond%{HTTPS}(开启)? RewriteCond%{HTTP:Host} ^ www。(。+)$ [NC] RewriteCond%{REQUEST_URI}(。+)? RewriteRule ^(。)(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。