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.
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.
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 .
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:
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.
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