2008-09-26 28 views
8

Estoy trabajando en un sitio de cliente que está utilizando Umbraco como CMS. Necesito crear una página de error 404 personalizada. He intentado hacerlo en la configuración de IIS, pero umbraco lo anula.Creación de una página de error personalizada en Umbraco CMS

¿Alguien sabe cómo crear una página de error 404 personalizada en Umbraco? ¿Hay alguna manera de crear una página de error personalizada para los errores de tiempo de ejecución?

Respuesta

18

En /config/umbracoSettings.config modificar <error404>1</error404> " 1" con el id de la página que desea mostrar.

<errors> 
    <error404>1</error404> 
</errors> 

Otras maneras de hacerlo se pueden encontrar en Not found handlers

+0

¿Cómo puedo encontrar la identificación de página? – Gthompson83

+0

Puede encontrar la identificación de la página yendo al administrador de Umbraco y ver el estado al pasar el ratón sobre la página. – Kearns

+2

La ID de página está en la pestaña de propiedades en la sección de contenido. – Echilon

8

umbraco también es compatible con las páginas de error que dependen de cultivo en caso de que esté trabajando con sitios multilingües ...

configuración cambia un poco pequeña. En lugar de

<errors> 
    <error404>1050</error404> 
</errors> 

que le escribe ahora

<errors> 
    <errorPage culture="default">1</errorPage>--> 
    <errorPage culture="en-US">200</errorPage>--> 
</errors> 

Saludos, /Dirk

1

En primer lugar crear una página de error (y plantilla) en su instalación umbraco. Digamos error.aspx. Publícalo. Luego edite config/umbracoSettings.config.

Under <errors> section 
    <error404>1111</error404> 

Dónde es el umbraco nodo ID para la página error.aspx

ID de nodo se puede encontrar colocando el cursor del ratón sobre el nodo de error en contenido sección. Por lo general, es un número de 4 dígitos.

luego editar el web.config :

In <appSettings> section 
    change <customErrors mode as show below: 
<customErrors mode="RemoteOnly" defaultRedirect="~/Error.aspx"/> 
+2

sección appSettings no tiene un elemento secundario customErrors. Además, no es necesario que modifique CustomErrors, hasta donde yo sé. – Sprague

0

Actualmente umbracoSettings.conf tiene que ser configurado de la siguiente manera con el fin de hacer que funcione de manera multilingüe:

<errors> 
     <!-- the id of the page that should be shown if the page is not found --> 
     <!--  <errorPage culture="default">1</errorPage>--> 
     <!--  <errorPage culture="en-US">200</errorPage>--> 
     <error404> 
      <errorPage culture="default">1</errorPage> 
      <errorPage culture="ru-RU">1</errorPage> 
      <errorPage culture="en-US">2</errorPage> 
     </error404> 
    </errors> 

Tenga en cuenta lo error404 elemento que rodea los elementos errorPage, así como los comentarios que omiten este pequeño pero importante detalle ...

9

Como se ha dicho en otras críticas, modifique la sección de errores como se indica Además, añadir lo siguiente en el web.config para permitir traspaso de errores a umbraco (incluido el cultivo, si es necesario.):

En/config/umbracoSettings. config (el propio archivo explica su uso):

<errors> 
    <!-- the id of the page that should be shown if the page is not found --> 
    <!--  <errorPage culture="default">1</errorPage>--> 
    <!--  <errorPage culture="en-US">200</errorPage>--> 
    <error404>2664</error404> 
</errors> 

En /web.config

<system.webServer> 
    <!-- Some other existing stuff --> 
    <httpErrors existingResponse="PassThrough" /> 
</system.webServer> 

(Nota: Este es.NET 4)

+4

+1 para la línea PassThrough, es muy importante. – Gigi2m02

Cuestiones relacionadas