服务热线
某用户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 文件。
最后尝试把此虚拟主机的独立进程池从经典模式 改为 集成模式 ,解决了此问题。


