http://localhost:56472/test.
wirft die hässliche gelbe ASP.NET-Fehlermeldung - The Resource Cannot be Found
.Punkt am Ende der URL mit MVC4 wirft Fehler
Wie fange ich diese Anfrage und
- Verhindern, dass die hässlichen gelben
- Streifen den Zeitraum vom Antrag und leiten?
Ich tue dies mein Global.asax
in haben:
protected void Application_Error(object sender, EventArgs e) {
// Do whatever you want to do with the error
}
Aber der Fehler ist nicht erwischt zu werden. Normale 404s werden hier abgefangen und ich leite erfolgreich zu meiner benutzerdefinierten Fehlerseite um.
Ich bin zu Azure PaaS bereitstellen, so nicht sehr granulare Kontrolle über IIS.
Update: Mein Versuch Rewrite:
<rule name="Strip Periods" stopProcessing="true">
<match url="^(.*[^.])(\.+)$" />
<conditions trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^site.com$" />
</conditions>
<action type="Redirect" url="{MapProtocol:{HTTPS}}://www.site.com/{R:1}" />
</rule>
Das hässliche Gelb kann durch Verwendung einer richtigen Fehlerseite verhindert werden. Es gibt eine Möglichkeit, dies spezifisch für MVC zu tun, und dann eine Möglichkeit, die mit allem von ASP.NET funktioniert. Was ist die URL, wird diese URL von Ihrem System generiert? Oder gibt der Benutzer es direkt in die Adresszeile ein? Oder generiert ein anderes System falsche Links zu Ihrer Site? – mason
@ Mason Ich bin mir dessen bewusst und - wie gesagt - ich habe benutzerdefinierte Fehlerbehandlung an Ort und Stelle und es funktioniert * außer * für in diesem Fall. Dies ist jemand, der auf einen Link klickt, der falsch formatiert wurde, um einen Punkt am Ende einzufügen. – RobVious
Aber wer hat den Link erstellt? Deine Seite? Oder eine dritte Partei? – mason