Frage

gesetzt I 404 Handler Seite in web.config, aber es funktioniert nur, wenn Erweiterung der URL aspx (oder andere, die von ASP.NET behandelt wird). Ich weiß, ich kann Setup statische HTML-Seite in der Website-Optionen, aber ich möchte eine Seite haben. Gibt es irgendwelche Optionen ASPX-Handler-Seite für alle Anforderung Erweiterungen in IIS zuweisen?

War es hilfreich?

Lösung

Die direkte Frage war, ob oder nicht, es gibt Möglichkeiten, die ASPX-Handler für alle Anforderung Erweiterungen zuweisen: Ja, es ist. Ich werde darüber diskutieren, wie das in Kürze tun.

Erstens glaube ich, die „versteckte“ Frage - die Antwort, die Sie wirklich wollen - ist, ob oder nicht es gibt einen Weg, um alle 404 Fehler für andere Seiten als ASPX, ASMX zu umleiten usw. Ja, es gibt, und diese ist die besser Wahl, wenn es um das Problem Sie mit lösen werden.

Um all 404s in IIS 6 zu umleiten, klicken Sie rechts Ihren Web-Anwendung root (ob es seine eigene Website oder ein virtuelles Verzeichnis in der Haupt-Website sein), und wählen Sie „Eigenschaften“. die „Benutzerdefinierte Fehler“ Registerkarte Von dort wählen. Finden 404 in der Liste und ändern Sie sich auf die Umleitung Sie wollen.

Nun, wenn das nicht ausreicht - und ich hoffe wirklich, es ist - ja, können Sie jede Seite durch die ASPX-Handler. Aber so kommt in Bezug auf die Effizienz auf einem recht hohen Kosten zu tun -. Raw HTML / Image ist wesentlich schneller als alles, was dynamische

Um dies zu tun, oder klicken Sie auf Ihre Web-Anwendung root und wählen Sie „Eigenschaften“. Wählen Sie den „Home Directory“ Reiter. Klicken Sie auf „Konfiguration“; ein neues Fenster öffnet sich. Kopieren Sie den Pfad von einem der ASP.NET-Seite dient, und verwenden Sie es dann für eine Wildcard Anwendung Karte.

Beachten Sie, wieder, ist dies die falsche Antwort die meiste Zeit. Es wird sich negativ auf Ihre Leistung auswirken, und ist das Äquivalent einer Kettensäge der Verwendung eines Truthahn zu schnitzen. Ich empfehle die erste Option über diese, wenn es für Sie funktionieren wird.

Andere Tipps

Weitere Informationen:

Dies ist eines der vielen schönen Dinge, die IIS7 bringt - alle Seiten durch den Handler geleitet werden, so dass Sie benutzerdefinierte 404s tun können, und - sinnvollerweise - Verzeichnis- und Dateiebene Sicherheit für jeder Datei (basierend auf den gleichen web.config Sachen wie für asp.net Dateien vor IIS7).

So fiktiv „verwenden II7“ ist eine Antwort (wird „die“ Antwort in der Zeit) - aber natürlich ist es nicht ein furchtbar praktisch ein, wenn Sie nicht bewirten / auf W2k8 gehostet (oder höher)

Die web.config kann nur durch seine Website gesteuert Fehler-Seiten für Seiten einrichten. Wenn Sie irgendwelche anderen Seiten außerhalb des Bereichs der ASP.Net-Anwendung haben, dann setzen Sie sie in IIS Handhabung auf. Es gibt dort eine Option zur Konfiguration der 404-Seite, wo Sie es zu Ihrer benutzerdefinierten Seite zeigen können.

Nur andere, was ich denken kann, ist alle Erweiterungen zu asp.net übergeben.

Auf diese Weise alle Arten von Dateien werden von asp.net verarbeitet und Ihre benutzerdefinierte Fehlerseite funktioniert.

In der IIS-Anwendungskonfiguration können Sie ein Wildcard-Mapping auf C ( "*").: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll

  1. Sie können Setup Wildcard-Mapping in IIS (Application configuration / Mappings / Wildcard-Mappings / - nur aspnet_isapi.dll als ausführbare gesetzt, und deaktivieren Sie die die Datei Überprüfen existiert Kasten), das wird alle eingehenden Anfragen an Ihren app - so können Sie das Verhalten steuern direkt von ihm.

  2. Sie haben noch einrichten statische Seite in Ihren IIS-Anwendungseinstellungen. Imho, sollten Sie Setup gültige URL können (z /error_handler.aspx) aus Ihrer Anwendung, die als Zielseite bei bestimmten Serverfehler verwendet wird.

In IIS Sie einen benutzerdefinierten Fehler für 404-Fehler setzen und es zu einer URL in den Site-Eigenschaften verweisen.

Es zeigt eine statische HTML standardmäßig C: \ WINDOWS \ Help \ iisHelp \ common \ 404b.htm

Sie können es zu einer relativen URL auf Ihrer Website ändern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top