Zur Navigation

bei bestimmten übergebenen GET-Variabeln 404 ausgeben

1 dlsn

Hallo!

Ist es möglich, dass, wenn bestimmte GET-Variabeln (zu denen in der Datenbank keine Einträge existieren), übergeben werden, die 404-Fehlerseite angezeigt wird?

Also im Prinzip möchte ich einfach bei einer nicht erfüllten if-Bedingung 404-Fehler ausgeben - ist das möglich?

Gruß
Daniel

10.05.2022 13:14

2 Jörg Kruse

Das würde ich in der jeweiligen Scriptsprache implementieren. In PHP z.B. kann ein Error 404 mit der Funktion http_response_code() ausgegeben werden.

(zu denen in der Datenbank keine Einträge existieren)

Für den Apache gibt es für Datenbankzugriffe zwar das Modul mod_dbd, aber dieses ist wohl nicht direkt in einer .htaccess Datei verwendbar, und wäre vermutlich auch keine sonderlich performante Lösung.

10.05.2022 15:33 | geändert: 10.05.2022 15:34

3 dlsn

Vielen Dank, leider funktioniert das noch nicht so, wie ich es mir erhofft habe.

Ich habe die Funktion jetzt so eingefügt:
if($entry==false){
                        http_response_code(404);     
                }

Allerdings erscheint nicht die 404-Seite, sondern nur Fehler, weil unter dieser Bedingung im Quelltext Attribute von $entry (Datenbank-Eintrag) abgefragt werden sollen, dieser Eintrag aber nicht existiert (der bekannte Fehler "Trying to access array offset on value of type bool" erscheint)

Anstatt dass mir aber diese Fehler erscheinen, soll die 404-Seite angezeigt werden.

Wenn ich noch ein exit(); einfüge:
if($entry==false){
                        http_response_code(404);
                        exit();
                }
dann erscheint eine 404-Seite vom Browser, nicht aber die meiner Webseite.



Wenn ich aber eine php-Seite aufrufen möchte, die nicht existiert, kommt meine erstellte 404-Seite, die ich in der .htaccess angegeben habe, und nicht die vom Browser

So sieht die Angabe in der .htaccess aus:
ErrorDocument 404 /404.php

10.05.2022 16:44

4 Jörg Kruse

Die Fehlerdatei könntest du includen, so in etwa:

if ($entry==false) {
    http_response_code(404);
    include('404.php');
    exit();
}

10.05.2022 16:49

1 Forenmitglied fand diesen Beitrag gut

5 dlsn

VIelen lieben Dank, das hat funktioniert!
Ich bin echt immer wieder richtig froh, dass es Dein Forum gibt. Hier bekommt man immer so schnell von Dir die passende Lösung!
Echt super!

10.05.2022 17:14

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]