• Errore HTTP 404.2 Not Found


    问题一:IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理

    404.2就一个http status code, msdn上说:404.2 - ISAPI or CGI restriction  IIS里的“ISAPI CGI 限制” 的配置有问题,“ISAPI 是供IIS加载和调用的DLL 如果没配置相关的ISAPI,就无法正确地解释网页的内容,之所以会抛出后面“请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理”的错误信息,极有可能是没配置相关ISAPI对页面进行解释,导致IIS默认把页面当作静态文件来解释,所以出错,比如:用net4.0来开发的网站,但ISAPI没配置有"ASP.Net_4.0_32bit"DLL来对页面程序进行托管,那么IIS肯定无法正确的运行aspx里的C#代码,

    解决方案:

    1)先确认网站是基于那个.NetFramework;

    2)然后到“应用程序池”里找网站对应的应用程序池(右击网站-> 高级设置),双击程序池, 看程序池是否也网站的net framework版本相同,

    注意:net2.0,net3.0,net3.5对应的net framework版本都是v2.0.50727,net4.0则基于v4.0.30319

    3)右击网站对应的 ”应用程序池 -> 高级设置“ 看”启用32位应用程序“,如果网站是以32编译的就要设为true, 否则为false, 一般都是32编译的,所以都选为true;

    4)如果上面的配置都没错,那就到问题的本质部分,即ISAPI的配置:

    a.选中网站->功能视图-> 双击 ISAPI筛选器;

    b.查看是否有与网站所基于的framework 对应的DLL, net2.0,3.0,3.5对应的DLLASP.Net_2.0.50727.0, net4.0ASP.Net_4.0_32bitASP.Net_4.0_64bit

    c.若没有对应的DLL,有可能是没装好IIS,即漏掉了东西,如果不知选择装哪些部分,就应该完整的把整个IIS装完;

    5)如果先装了visual studio再装iis必须得对.NetFramework 重装一次, 运行cmd,输入:

    C:\Windows\Microsoft.NET\Framework\V4.0.30319\aspnet_regiis -i    

    注:C:\Windows\Microsoft.NET\Framework\V4.0.30319\   NetFramework安装对应的路径;

    6)重启一下iis 理论上应可以解决导致404.2 not found 的大部分问题了;但是可能会出现下面的问题

    问题二:由于 Web 服务器上的“ISAPI CGI 限制”列表设置,无法提供您请求的页面

    解决方案:IIS -> ISAPICGI限制->把禁止的DotNet版本项设置为允许,即可。

  • 相关阅读:
    PAT甲级1107. Social Clusters
    PAT甲级1103. Integer Factorization
    PAT甲级1098. Insertion or Heap Sort
    hihocoder 162周 1323 : 回文字符串
    PAT甲级1095. Cars on Campus
    PAT甲级1089. Insert or Merge
    PAT甲级1087. All Roads Lead to Rome
    PAT甲级1076. Forwards on Weibo
    PAT甲级1066. Root of AVL Tree
    PAT甲级1057. Stack
  • 原文地址:https://www.cnblogs.com/qiufuwu618/p/2975232.html
Copyright © 2020-2023  润新知