HTTP-Response ändern während der Laufzeit
In einer eigenen Erweiterung generiere ich verschiedene URL's. Doch manchmal werden der Seite falsche Parameter übergeben und ich möchte nun in meiner Erweiterung den HTTP-Response ändern. Wie mache ich das am besten?
Beispiel:
Die ungültige URL lautet z.B. http://www.schachbund.de/verein/82009.html. Den Eintrag für die ID 82009 gibt es nicht, weswegen ich gern den HTTP-Code 410 (Gone - Die angeforderte Ressource wird nicht länger bereitgestellt und wurde dauerhaft entfernt.) zurückgeben würde. Ein einfaches
PHP-Code:
header("HTTP/1.1 410 Gone");
führt durch das bekannte "Cannot modify header"-Warning zu einer weißen Seite.
Ein
PHP-Code:
header("HTTP/1.1 410 Gone");
header("Location: http://www.schachbund.de/verein/82009.html");
würde zu einer Endlosschleife führen, weil sich die Seite immer wieder neu lädt.
Gibt es eine Core-Funktion um den HTTP-Response vor dem Absenden zu manipulieren und z.B. Suchbots den 410 mitzuteilen?