it-swarm.com.de

ErrorDocument 404 /404.php funktioniert in der .htaccess-Datei nicht PHP

Ich habe eine .htaccess-Datei im Stammverzeichnis und dort auch eine 404.php-Datei. Inhalt meiner .htaccess-Datei ist:

ErrorDocument 404 /404.php 

Wenn ich meine URL falsch schreibe, öffnet sich 404.php nicht. Stattdessen erhalte ich folgende Nachricht:

Nicht gefunden

Die angeforderte URL /mywebsite/ites.php wurde auf diesem Server nicht gefunden.

Außerdem wurde beim Versuch mit .__ ein Fehler 404 nicht gefunden festgestellt. Verwenden Sie ein ErrorDocument, um die Anforderung zu bearbeiten.

Aber als ich ErrorDocument 404 google.com versuchte, hat es funktioniert.

16
user1556433

Ich werde meine Kommentare zu dieser Antwort konsolidieren:

Bei der Einstellung ...

ErrorDocument 404 /404.php

der /404.php-Pfad ist möglicherweise nicht der absolute Pfad zum Stammverzeichnis Ihres htdocs-Ordners, sondern das Stammverzeichnis Ihres Dateisystems. Dies kann, abhängig von Ihrer Konfiguration, z. /home/htdocs/ oder ~ und so weiter.

Man muss also den absoluten Pfad herausfinden und entsprechend einstellen.

15
conceptdeluxe

Wo befindet sich Ihr 404.php tatsächlich in Bezug auf Ihre .htaccess-Datei? Können Sie es einfach als direkte URL ausführen? Kann die Datei vom Server gelesen werden? Oder ist es in einem verschachtelten Unterverzeichnis? Sie können auch die vollständige URL ausprobieren:

ErrorDocument 404 http://mygreat.server/404.php 

Vollständige Details in der offiziellen Apache-Dokumentation hier .

12
JakeGould

Sie verwenden ErrorDocument so:

ErrorDocument <3-digit-code> <action>

Sie haben drei Arten von Aktionen, die von Ihrer Eingabe ausgelöst werden:

Die Aktion wird wie folgt behandelt:

  1. Eine lokale URL, zu der umgeleitet werden soll, wenn die Aktion mit "/" beginnt.
  2. Eine externe URL, an die weitergeleitet werden soll, wenn die Aktion eine gültige URL ist.
  3. Anzuzeigender Text (wenn keiner der oben genannten). (Der Text muss in Anführungszeichen (") eingeschlossen sein, wenn er aus mehreren Wörtern besteht.)

Z.B.

Benutzerdefinierter Text: ErrorDocument 404 "Oops! We can't find that pesky file. Sorry."

Lokaler Pfad: ErrorDocument 404 /local/path/to/404.php

Externe URL: ErrorDocument 404 http://external_url.example.com/server_error.html

Sie haben eine lokale Datei ausgewählt, sind aber aus Sicht des Servers wahrscheinlich nicht richtig verlinkt. Lokale Serverpfade sind nicht das, was Sie in Ihrer URL sehen, und enthalten häufig Dinge wie ~/htdocs/www/domainname/

Das Problem ist höchstwahrscheinlich, dass Ihr Pfad zu 404.php falsch ist und von Ihrem Server nicht gefunden werden kann.

1
Chuck Le Butt

Hey du kannst einige Einstellungen in httpd.conf ändern von: -

<Directory />
AllowOverride none
Require all denied
</Directory>

zu: -

<Directory />
AllowOverride All
Require all denied
</Directory>

Das kannst du benutzen

ErrorDocument 404/404.php

In htaccess

0
Aryan Kumar