Sitecore 如何为错误代码404创建自定义页面?

Sitecore 如何为错误代码404创建自定义页面?,sitecore,sitecore8,Sitecore,Sitecore8,你能告诉我,我如何在Sitecore中做到这一点吗?我是Sitecore的初学者,我需要了解如何一步一步地做到这一点。你知道关于它的任何说明、视频或文章吗 谢谢你的帮助 您可以在web.config中配置两个标准的.NET错误页(建议您使用转换来修改web.config) 然后,您还可以通过修补以下sitecore配置设置,将sitecore配置为设置自定义错误页: <configuration> <sitecore> <settings&g

你能告诉我,我如何在Sitecore中做到这一点吗?我是Sitecore的初学者,我需要了解如何一步一步地做到这一点。你知道关于它的任何说明、视频或文章吗


谢谢你的帮助

您可以在web.config中配置两个标准的.NET错误页(建议您使用转换来修改web.config)


然后,您还可以通过修补以下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>

符合事实的
/错误/404
/错误/404
/错误/404
/Error.aspx

您正在寻找的是ItemNotFoundUrl,只要您将其设置为合法的Sitecore Url(即404的内容页),您就可以拥有内容管理页面,以便Sitecore处理错误。

在Sitecore中创建自定义404页面

没有人想看到标准的Sitecore 404页面。谢天谢地,通过一些配置设置更改用户重定向到的错误页面非常容易

错误页面可以是Sitecore或静态HTML文件中的页面。对于404页,我通常会使用Sitecore页面,这样内容作者仍然可以管理其内容。对于错误页面,我建议使用静态html文件,以避免错误页面可能出现的错误

将这些添加到修补程序文件并相应地更新URL:

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

/ErrorPages/404.html
/ErrorPages/404.html
/ErrorPages/404.html
/ErrorPages/Error.html

这些设置已经在web.config文件中定义,在此处更改它们也会产生相同的效果,但我建议添加补丁配置文件,因为这将使您的解决方案在将来更易于更新。

非常感谢!但原因与我的情况稍有不同:)我注意到你的回答很有用
<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>