ASPX 映射.html 访问提示: 某个自定义筛选器或模块(如 URLScan)限制了对该文件的访问
    文章作者:恒爱网络 阅读次数:9300 发布时间:2019-4-12

    某用户ASPX站点 在我司虚拟主机提示错误: 某个自定义筛选器或模块(如 URLScan)限制了对该文件的访问。

    具体错误如下:

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    HTTP 错误 404.0 - Not Found

    您要找的资源已被删除、已更名或暂时不可用。


    最可能的原因:

    • 指定的目录或文件在 Web 服务器上不存在。
    • URL 拼写错误。
    • 某个自定义筛选器或模块(如 URLScan)限制了对该文件的访问。


    可尝试的操作:

    • 在 Web 服务器上创建内容。
    • 检查浏览器 URL。
    • 创建跟踪规则以跟踪此 HTTP 状态代码的失败请求,并查看是哪个模块在调用 SetStatus。有关为失败的请求创建跟踪规则的详细信息,请单击此处


    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    检查发现 web.config 里使用了 .html 映射到 ASPX 的伪静态,关键代码如下:

     <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <modules runAllManagedModulesForAllRequests="true">
          <add type="SPcms.Web.UI.HttpModule, SPcms.Web.UI" name="HttpModule" />
        </modules>
        <defaultDocument>
          <files>
    
          </files>
        </defaultDocument>
        <handlers>
                <remove name="PageHandlerFactory-ISAPI-2.0" />
                <add name="jintai" path="*.html" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="File" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
          <add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
        </handlers>
      </system.webServer>
    按道理说是应该正常的,MVC已安装。就是无法访问 映射后的 .html 文件。

    最后尝试把此虚拟主机的独立进程池从经典模式 改为 集成模式 ,解决了此问题。