2008-09-26 11 views
8

Ich arbeite an einer Client-Site, die Umbraco als CMS verwendet. Ich muss eine benutzerdefinierte 404-Fehlerseite erstellen. Ich habe versucht, es in der IIS-Konfiguration zu tun, aber Umbraco überschreibt das.Erstellen einer benutzerdefinierten Fehlerseite in Umbraco CMS

Kann jemand eine benutzerdefinierte 404-Fehlerseite in Umbraco erstellen? Gibt es eine Möglichkeit, eine benutzerdefinierte Fehlerseite für Laufzeitfehler zu erstellen?

Antwort

18

In /config/umbracoSettings.config ändern Sie <error404>1</error404> "" mit der ID der Seite, die Sie anzeigen möchten.

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

Andere Möglichkeiten, es zu tun, kann auch die Kultur zu Not found handlers

+0

Wie kann ich die Seiten-ID finden? – Gthompson83

+0

Sie können die Seiten-ID finden, indem Sie zum Umbraco-Administrator gehen und den Status anzeigen, wenn Sie den Mauszeiger über die Seite bewegen. – Kearns

+2

Die Seiten-ID befindet sich auf der Registerkarte "Eigenschaften" des Inhaltsbereichs. – Echilon

8

umbraco finden abhängige Fehlerseiten im Fall unterstützt werden Sie mit mehrsprachigen Websites arbeiten ...

Config ändert ein klein wenig. Statt

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

würden Sie jetzt

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

Prost schreiben, /Dirk

1

Zuerst eine Fehlerseite (und Vorlage) erstellen in Ihrer umbraco Installation. Sagen wir Fehler.aspx. Veröffentlichen Sie es. Dann bearbeiten Sie config/umbracoSettings.config.

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

Wo ist die umbraco Knoten ID für die error.aspx Seite

Node-ID kann durch schwebende Maus auf dem Fehlerknoten in Inhalt Abschnitt. Es ist normalerweise eine 4-stellige Nummer.

Dann bearbeiten Sie die web.config:

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

Der Abschnitt appSettings enthält kein customErrors-Kind. Außerdem müssen Sie customErrors, soweit ich weiß, nicht ändern. – Sprague

0

Derzeit umbracoSettings.conf hat die folgende Art und Weise konfiguriert, um werden, in einer mehrsprachigen Art und Weise arbeiten zu lassen:

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

Bitte beachten Sie die error404 Element, das die errorPage Elemente umgibt, sowie die Kommentare, die dieses kleine, aber wichtige Detail auslassen ...

9

Wie schon in anderen Poster erwähnt, ändern Sie den Fehler Abschnitt wie angegeben Darüber hinaus fügen Sie den folgenden in der Web-Config-Übernahme der Fehler umbraco zu ermöglichen (einschließlich Kultur, wenn nötig.):

In/config/umbracoSettings. config (die Datei selbst erklärt seine Nutzung):

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

In /web.config

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

(Hinweis: Dies ist.NET 4)

+4

+1 für die PassThrough-Linie, ist ein sehr wichtiger. – Gigi2m02

Verwandte Themen