2011-11-24 134 views
1

在经典模式使用IIS 7.5(因为我们使用Sitecore的)用的WebForms应用程序(.NET 3.5),我们的错误页面定义为自定义404页缺失ASPX页面不执行 - IIS 7.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

您是否尝试过将此404页面添加到IIS->网站属性 - >自定义错误选项卡,然后在404下,指向您希望在找不到文件时显示的网页?

1

404自定义页面 - 作品的.aspx &非的.aspx的URL
作品在GoDaddy的共享Windows主机(IIS7 .NET4)

创建在本地主文件夹一个404.html或404.aspx文件在您共享GoDaddy托管。

-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>