在经典模式下使用IIS 7.5(因为我们正在使用SiteCore)和WebForms应用程序(.Net 3.5),我们将错误页面定义为
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/Error/404.aspx" responseMode="ExecuteURL" />
</httpErrors>
现在,对于请求时未找到的非.Net类型的文件,未显示自定义错误页面,并返回标准404状态类型。如果我们使用扩展名为.htm的自定义错误页面(例如path =“/ Error / 404.htm”),则显示它!
从我读过的内容来看,xml是正确的,应该适用于非.Net文件类型。我的web.config中没有任何部分。听起来像其他东西,例如SiteCore可能影响事物 - 如果您需要更多信息,请告诉我。
答案 0 :(得分:1)
404自定义页面 - 工作.aspx&amp;非.aspx网址
适用于GoDaddy共享Windows主机(IIS7 .Net4)
在共享GoDaddy托管中的本地主文件夹上创建404.html或404.aspx文件。
-Web.Config文件 -
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="404.html or 404.aspx" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
答案 1 :(得分:0)
您是否尝试将此404页面添加到IIS - &gt;网站属性 - &gt; “自定义错误”选项卡,然后在404下,指向您希望在找不到文件时显示的网页?