自定义 404 页面未因缺少 ASPX 页面而执行 - IIS 7,5

发布于 2024-12-18 02:18:15 字数 593 浏览 2 评论 0原文

在经典模式下使用 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>

Now,对于请求时未找到的非 .Net 类型的文件,自定义未显示错误页面,并返回标准 404 状态类型。如果我们使用带有 .htm 扩展名的自定义错误页面(例如 path="/Error/404.htm"),则会显示它!

据我所知,xml 是正确的,并且应该适用于非 .Net 文件类型。我的 web.config 中没有任何部分。听起来像是其他事情,例如 SiteCore 可能会影响事情 - 如果您需要更多信息,请告诉我。

Using IIS 7.5 in classic mode (as we're using SiteCore) with a WebForms app (.Net 3.5), we have error pages defined as

  <httpErrors errorMode="Custom" existingResponse="Replace">
    <remove statusCode="404" subStatusCode="-1" />
    <error statusCode="404" prefixLanguageFilePath="" path="/Error/404.aspx" responseMode="ExecuteURL" />
  </httpErrors>

Now, for files of a non .Net type that aren't found when requested , the custom error page isn't being displayed, and a standard 404 status type is returned. If we use a custom error page with a .htm extension (e.g. path="/Error/404.htm"), then it is displayed!

From what I've read the xml is correct, and should work for non .Net file types. I have no section in my web.config. Sounds like something else e.g. SiteCore maybe affecting things - let me know if you need any more info.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

陈甜 2024-12-25 02:18:15

404 自定义页面 - 作品 .aspx &非 .aspx URL
适用于 GoDaddy 共享 Windows 主机 (IIS7 .Net4)

在共享 GoDaddy 主机的本地主文件夹中创建 404.html 或 404.aspx 文件。

-Web.配置文件-

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

404 custom page - works .aspx & non .aspx URLs
Works on GoDaddy Shared Windows Hosting (IIS7 .Net4)

Create a 404.html or 404.aspx file on your local main folder in your shared GoDaddy hosting.

-Web.Config File-

<?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>
—━☆沉默づ 2024-12-25 02:18:15

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

Have you tried adding this 404 page to IIS -> Website properties -> Custom Errors tab, then under 404, point to the web page that you would like to show up when a file is not found?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文