IIS http 404错误url通过web.config重定向会产生许多不必要的额外请求吗



使用经典的asp,当服务器找不到请求的页面时,我会尝试重定向到给定的页面。然而,当第一次重定向到给定页面时,我会遇到奇怪的额外请求和响应。由于某些原因,服务器之间会发生许多额外的请求和响应。这是我的简单web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false"/>
<httpErrors errorMode="Custom">
<remove statusCode="404" subStatusCode="-1"/>
<error statusCode="404" path="/folder/index.asp" responseMode="ExecuteURL"/>
</httpErrors>
</system.webServer>
</configuration>

有人知道为什么服务器会继续处理额外的请求(有些甚至是10个请求(吗?

此外,我注意到该页面的css文件也没有任何效果。因此,页面html在没有css格式的情况下进行渲染。

我还注意到,如果目标url有文件扩展名,css就会得到正确的渲染。但是如果url是无扩展的;http://.../info/info2/222"那么即使发生404重定向(有很多额外的请求/响应(,css也不会被呈现。

我注意到Asp应用程序中的自定义错误使用httpErrors而不是customError。所以问题可能就是因为这个。

当服务器找不到请求的页面时,httpErrors将根据状态代码确定响应页面。页面的路径为/folder/index.asp,响应模式为ExecuteURL。所以/folder/index.asp实际上是另一个请求和响应。

您没有提到最初的css文件引用方法,但页面是在没有css的情况下呈现的。所以我想额外的请求可能是CSS文件。您可以从浏览器的开发模式中查看它。

最新更新