我的站点/应用程序指向一个名为“site”的文件夹,并且已设置所有权限。该文件夹中包含“home.asp”。默认文档是“home.asp”。当我访问域时,我收到“页面未找到”的提示。如果我在 IIS 中捕获该 404 错误并告诉它重定向到“home.asp”,则一切正常。问题是我不想将所有 404 重定向到 home.asp。我希望站点默认为 home.asp 并找到它。有人知道为什么会发生这种情况吗?我是否需要对 .Net 端进行一些操作以告诉它默认使用 .ASP 端?我是否需要创建一个重定向到我的“home.asp”的 .aspx 默认页面?如果是,我应该将这个页面命名为什么?
这是我的 web.config 文件,以防它提供任何想法:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<sessionState timeout="45" />
<httpRuntime executionTimeout="350" maxRequestLength="1024000000" />
</system.web>
<system.webServer>
<!-- asp runOnEndAnonymously="false" /-->
<security>
<requestFiltering allowDoubleEscaping="true">
<fileExtensions>
<remove fileExtension=".asa" />
</fileExtensions>
<requestLimits maxAllowedContentLength="1024000000" />
</requestFiltering>
</security>
<staticContent>
<mimeMap fileExtension=".asp" mimeType="application/asp" />
</staticContent>
<defaultDocument>
<files>
<remove value="default.aspx" />
<remove value="iisstart.htm" />
<remove value="index.html" />
<remove value="index.htm" />
<remove value="Default.asp" />
<remove value="Default.htm" />
<add value="home.asp" />
</files>
</defaultDocument>
<httpErrors errorMode="DetailedLocalOnly">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/home.asp" responseMode="ExecuteURL" />
</httpErrors>
<asp bufferingOn="true">
<limits bufferingLimit="1024000000" maxRequestEntityAllowed="1024000000" />
<session timeout="00:40:00" />
</asp>
<directoryBrowse enabled="false" />
</system.webServer>
</configuration>
答案1
[来自我的评论]
重定向成功意味着,根据定义,第一个请求与第二个请求不同(否则重定向会导致另一个 404)。查看 IIS 日志,看看第一个请求与重定向请求有何不同