Ich habe gesucht und keine passende Antwort gefunden.
Ich habe eine benutzerdefinierte 404-Seite, die, wenn ausgelöst:
- analysiert die angeforderte URL nach einer bestimmten Zeichenfolge
- prüft eine Datenbank auf diesen Wert
- fügt bestimmte HTTP-Kopfzeile(n) auf der Grundlage der von db zurückgegebenen Ergebnisse ein
Je nach Bedingung werde ich dies an den Browser senden:
Response.AddHeader "Location", a_dynamic_url
Response.Status = "301 Moved"
Wenn die spezifische Zeichenfolge in meiner Datenbank gefunden wird, verhält sich der Client-Browser wie gewünscht, indem er die dynamische URL lädt, die ich in der Kopfzeile für den Speicherort festgelegt habe.
Hier ist mein Problem...
Wenn die spezifische Zeichenfolge in meiner Datenbank NICHT GEFUNDEN ist, kann ich den Status nicht auf "404 Not Found" setzen und benutzerdefiniertes HTML im Browser anzeigen.
Ich kann das eine oder das andere tun, aber nicht beides gleichzeitig. Es handelt sich entweder um den Status 404 oder um benutzerdefiniertes HTML (mit Status 200).
Wenn Sie dagegen HTTP Fox in Firefox verwenden, um die Anfrage-/Antwort-Header zu sehen, und dann zu einer unbekannten bit.ly-URL navigieren (z. B. "bit.ly/asdfasdf"), lautet der zurückgegebene Status 404 und der HTML-Code ist benutzerdefiniert.
Irgendwelche Ideen, wie ich IIS 6 manipulieren kann, um das Gleiche mit Classic ASP zu tun?