【发布时间】:2019-10-09 12:21:31
【问题描述】:
您能告诉我,我如何在 Sitecore 中做到这一点?我是 Sitecore 的初学者,我需要了解如何逐步做到这一点。您可能知道任何关于它的说明、视频或文章吗?
感谢您的帮助!
【问题讨论】:
您能告诉我,我如何在 Sitecore 中做到这一点?我是 Sitecore 的初学者,我需要了解如何逐步做到这一点。您可能知道任何关于它的说明、视频或文章吗?
感谢您的帮助!
【问题讨论】:
您可以在 web.config 中配置两个标准 .NET 错误页面(建议您使用转换来修改您的 web.config)
<system.webServer>
<httpErrors xdt:Transform="Remove" />
<httpErrors errorMode="DetailedLocalOnly">
<remove statusCode="404" subStatusCode="-1" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="404.html" responseMode="File" />
<error statusCode="500" prefixLanguageFilePath="" path="Error.html" responseMode="File" />
</httpErrors>
您还可以通过修补以下 Sitecore 配置设置来配置 sitecore 以设置自定义错误页面:
<configuration>
<sitecore>
<settings>
<setting name="RequestErrors.UseServerSideRedirect">
<patch:attribute name="value">true</patch:attribute>
</setting>
<setting name="ItemNotFoundUrl">
<patch:attribute name="value">/Error/404</patch:attribute>
</setting>
<setting name="LayoutNotFoundUrl">
<patch:attribute name="value">/Error/404</patch:attribute>
</setting>
<setting name="LinkItemNotFoundUrl">
<patch:attribute name="value">/Error/404</patch:attribute>
</setting>
<setting name="NoAccessUrl">
<patch:attribute name="value">/Error.aspx</patch:attribute>
</setting>
</settings>
</sitecore>
</configuration>
您要查找的是 ItemNotFoundUrl,只要您将其设置为合法的 Sitecore Url(因此是 404 的内容页面),您就可以拥有一个内容管理页面,以便 Sitecore 何时可以处理错误.
【讨论】:
在 SITECORE 中创建自定义 404 页面
没有人愿意看到标准的 Sitecore 404 页面。值得庆幸的是,通过一些配置设置来更改用户被重定向到的错误页面非常容易。
您的错误页面可以是 Sitecore 或静态 HTML 文件中的页面。对于 404 页面,我通常会使用 Sitecore 页面,这样内容作者仍然可以管理其内容。对于错误页面,我建议使用静态 html 文件,以避免错误页面出现可能出错的问题。
将这些添加到补丁文件并相应地更新网址:
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<settings>
<!-- ITEM NOT FOUND HANDLER
Url of page handling 'Item not found' errors
-->
<setting name="ItemNotFoundUrl">
<patch:attribute name="value">/ErrorPages/404.html</patch:attribute>
</setting>
<!-- LINK ITEM NOT FOUND HANDLER
Url of page handling 'Link item not found' errors
-->
<setting name="LinkItemNotFoundUrl">
<patch:attribute name="value">/ErrorPages/404.html</patch:attribute>
</setting>
<!-- LAYOUT NOT FOUND HANDLER
Url of page handling 'Layout not found' errors
-->
<setting name="LayoutNotFoundUrl">
<patch:attribute name="value">/ErrorPages/404.html</patch:attribute>
</setting>
<!-- ERROR HANDLER
Url of page handling generic errors
-->
<setting name="ErrorPage">
<patch:attribute name="value">/ErrorPages/Error.html</patch:attribute>
</setting>
</settings>
</sitecore>
</configuration>
这些设置已在 web.config 文件中定义,在此处更改它们将产生相同的效果,但我建议添加补丁配置文件,因为这将使您的解决方案更容易在未来更新。
【讨论】: