Ergebnis 1 bis 4 von 4

Thema: HTTP-Response ändern während der Laufzeit

  1. #1
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Frage 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?
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.518
    User beschenken
    Wunschliste

    Standard

    Da fällt mir nichts direktes ein.
    Im Prinzip wäre das ja ein neuer Seitentyp neben der normalen Seite (200), Not Found (404) und Forbidden (403).
    Könnte man bauen, anlegen und statt der PageRegular dann PageGone nutzen, wobei ich jetzt noch nicht geschaut habe ob und wie man die Route quasi umbiegen kann.

    Wenn du selber den Header 410 sendest, dann müsstest du auch selber den Inhalt senden und mit exit; die Verarbeitung beenden. (so wie bei Download zum Beispiel)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.254
    Partner-ID
    10107

    Standard

    Die Frage ist wohl eher: was möchtest du unter dieser URL anzeigen? Wenn du nichts anzeigen willst, reicht ja ein
    PHP-Code:
    exit; 
    nachdem du den header gesetzt hast.

  4. #4
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    Muß ich wohl vorerst bei der unschönen MetaModels-Lösung bleiben.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •