2009-06-29 3 views
2

Also hier ist das Problem. Wir führen Sitecore aus, das URL-Rewriting durchführt, und ermöglicht so etwas wie example.com/Folder/Page.aspx, eine richtige URL zu sein.IIS7 Benutzerdefinierte Fehler-URL Redirects funktioniert nicht mit nicht-physischen Dateien

Nun existiert "Ordner" tatsächlich nicht im Dateisystem, und auch nicht "Page.aspx". Aber diese URL funktioniert, weil ASP.NET tut, was es soll.

Okay, jetzt sage ich, ich versuche, auf eine Webseite zu gehen, die nicht existiert wie example.com/idontexist.html. Dies ist im Dateisystem nicht vorhanden und verwendet ASP.NET nicht zum Auflösen der Datei. Daher erhalten wir einen IIS7 404-Fehler.

Jetzt möchte ich die 404-Fehlerseite auf eine benutzerdefinierte Fehlerseite ändern, indem Sie eine URL verwenden. Angenommen, die URL ist example.com/ErrorPage.aspx. Diese Seite ist eigentlich keine physische Seite, sondern ein Objekt in Sitecore.

In der benutzerdefinierten Fehlerkonfiguration im IIS-Manager versuche ich, den 404-Fehler so zu ändern, dass er auf eine URL-Umleitung verweist, und ich verwende /ErrorPage.aspx als URL-Umleitung. Wenn ich versuche, zu einer URL zu wechseln, die nicht existiert, wird IIS7 mit einem Fehler angezeigt, der besagt, dass er /ErrorPage.aspx nicht finden kann.

In IIS6 ist dies kein Problem, und alles funktioniert einwandfrei. Aber auf IIS7, ich umleiten auf eine URL, die nicht physisch auf dem Server ist.

Hilfe!

Antwort

0

eine sehr lange Geschichte kurz zu machen, hier ist das Ding:

1) IIS so konfiguriert, dass 404-Fehler 2) erstellen eine Seite zu „default.aspx“ gehen, die tatsächlich behandelt, was Sie behandeln möchten.

Referenz-Links, SDN Originale:

http://sdn5.sitecore.net/upload/sitecore6/handling_http_404_a4.pdf http://sdn.sitecore.net/upload/sitecore6/dynamic_links_a4.pdf

+0

Okay, war die Handhabung http 404 PDF eine echte Hilfe. Ich fügte den Prozessor in die Pipeline ein, und das schien den Trick zu machen. Das Problem, dem ich jetzt gegenüberstehe, ist, dass ich in IIS für nonasp.net-Elemente wie http://www.example.com/text.txt, wenn diese Textdatei nicht da ist, versucht habe, den benutzerdefinierten Fehler zuzuordnen um URL /Default.aspx auszuführen, aber das gab mir einen Fehler. Scheint wie jede * .aspx-Erweiterung, die ich in der benutzerdefinierten Fehlerfunktion in IIS hinzufüge, einen generischen 404-Fehler zurückgibt. – Pete

+0

Ja, IIS würde normalerweise nicht in nicht-ASP bekannten Erweiterungen eingebunden werden. Sie können entweder A) sie zuordnen, so dass .HTML, .TXT usw. zu .NET-Handlern wie .aspx und .asmx usw. wechseln oder B) Integrierte Pipeline aktivieren (nur IIS7), die ASP.NET beinhalten würde in allen Seitenanforderungen. Beide Optionen haben jedoch einige Einschränkungen. –

Verwandte Themen