404 er Header senden

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
The real Indigo
Mitglied
Beiträge: 235
Registriert: 03.08.2004 12:00
Wohnort: Ruhrpott
Kontaktdaten:

404 er Header senden

Beitrag von The real Indigo »

Wenn Themen gelöscht oder nicht vorhanden sind, gibt es ja ne kurze Meldung.

Ist es möglich einen 404er Header zu senden ?


Wäre nützlich damit die Seiten nicht weiter indexiert werden.
Benutzeravatar
FatFreddy
Mitglied
Beiträge: 1937
Registriert: 25.07.2004 15:52
Kontaktdaten:

Beitrag von FatFreddy »

Keine schlechte Idee.

Ich habe gerade mal versucht, ganz dilettantisch :oops: eine 404er-Meldung in die message_die() einzubauen.

Message_Die gibt jetzt, bei Aufruf eines nicht existierenden Topics, brav als erstes ein 404 zurück. Danach wegen funktionierender Ausgabe diverse 200er. Im Browser wird die klassische Meldung gezeigt:
Firefox Header Monitor hat geschrieben: http://www.inseltalk.de/post-6230.html

GET /post-6230.html HTTP/1.1
Host: www.inseltalk.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

HTTP/1.x 404 OK
Date: Wed, 14 Sep 2005 18:31:39 GMT
Server: Apache/1.3.33 (Unix)
Cache-Control: private, pre-check=0, post-check=0, max-age=0
Expires: 0
Pragma: no-cache
X-Powered-By: PHP/4.3.10
.
.
.
.
.
.
Ob das so funktioniert, oder aber die folgenden 200er stören, ist mir nicht klar.

Jemand eine Idee?

FatFreddy


Nachtrag: Der Einbau war wohl zu dilettantisch! Der IE meldet im Versuch jetzt ein unfreundliches "Headers already sent." :evil:
Nachtrag2: Aber nur für angemeldete User. :o
Watch out where the huskies go, don't you eat the yellow snow...
Mehr dazu im Reiseforum InselTalk.de.
Tupperdosensucher schauen ins Geocachingforum.
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

mit header() kann man einen Header senden und so sendet man einen 404er:

Code: Alles auswählen

  header("HTTP/1.0 404 Not Found");
Benutzeravatar
FatFreddy
Mitglied
Beiträge: 1937
Registriert: 25.07.2004 15:52
Kontaktdaten:

Beitrag von FatFreddy »

Gut erkannt! ;) Aber, wie Du am Output des Headermonitors sehen kannst, funktioniert das bereits.

Mir mag es nur nicht recht gelingen, den header zuverlässig zur rechten Zeit zu senden.

FatFreddy
Watch out where the huskies go, don't you eat the yellow snow...
Mehr dazu im Reiseforum InselTalk.de.
Tupperdosensucher schauen ins Geocachingforum.
The real Indigo
Mitglied
Beiträge: 235
Registriert: 03.08.2004 12:00
Wohnort: Ruhrpott
Kontaktdaten:

Beitrag von The real Indigo »

Hmmm, normal dürfte das doch nicht so schwer sein.


Müsste doch mit ner einfachen Abfrage gehen ?


Quasi wenn Topic nicht vorhanden dann den 404er senden, sonst normal weiter mit der Ausgabe.

Bin leider kein PHP Profi...


Edit: Bei Inseltalk gehts doch ohne Probleme, wie es aussieht.

Welchen Code haste da eingebaut ???
Benutzeravatar
FatFreddy
Mitglied
Beiträge: 1937
Registriert: 25.07.2004 15:52
Kontaktdaten:

Beitrag von FatFreddy »

Es ist, wie gesagt, eine dilettantische Lösung, die ich gewählt habe. Es sollte auch nur zum Test sein.
Es funktionierte einwandfrei, solange man nicht als User angemeldet ist.
Der Fehler ist aber mittlerweile behoben. Insofern hat sich Nachtrag 2 aus meinem ersten Post erledigt.


öffne includes/finctions.php

suche:

Code: Alles auswählen

	switch($msg_code)
	{
		case GENERAL_MESSAGE:
			if ( $msg_title == '' )
			{
danach einfügen:

Code: Alles auswählen

				if ( !$userdata['session_logged_in'] )
				{
  					header("HTTP/1.0 404 Not Found");
  					}
Zur Zeit versuche ich herauszufinden, ob es nicht unerwünschte Nebeneffekte gibt.
Ich weiß z.B. noch nicht, ob diese Funktion nur aufgerufen wird, wenn die Seite nicht existiert.

FatFreddy
Watch out where the huskies go, don't you eat the yellow snow...
Mehr dazu im Reiseforum InselTalk.de.
Tupperdosensucher schauen ins Geocachingforum.
The real Indigo
Mitglied
Beiträge: 235
Registriert: 03.08.2004 12:00
Wohnort: Ruhrpott
Kontaktdaten:

Beitrag von The real Indigo »

Sehr schön. Ich werde das dann auch mal einbauen und testen.

Werd mich dann heute Abend dazu melden.
The real Indigo
Mitglied
Beiträge: 235
Registriert: 03.08.2004 12:00
Wohnort: Ruhrpott
Kontaktdaten:

Beitrag von The real Indigo »

Also laufen tut das ohne Probleme.

Kriege auch keine Fehlermeldung.

Werde jetzt ein paar Tage testen ob Google die gelöschten Threads rausnimmt.
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

Beitrag von Dungeonwatcher »

Moin! 8)

Hmmm, bei mir gibt es nur diese Fehlermeldung:
PHP Warning: Cannot modify header information - headers already sent by (output started at ...\includes\template.php(127) : eval()'d code:1) in ...\includes\functions.php on line 1079
Bye/2
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“