Wenn ein 404-Fehler auftritt, kann eine 404.php-Vorlagendatei zum Rendern einer benutzerdefinierten Fehlermeldung verwendet werden. Dies ist in der Vorlagenhierarchie dokumentiert Artikel .
Mein Ziel ist es, benutzerdefinierte Fehlerseiten für 401, 403 und 500 Fehler zu erstellen. Ich habe versucht, 401.php-, 403.php- und 500.php-Dateien im Verzeichnis meines Themas zu erstellen, aber das funktioniert nicht.
Wie kann ich benutzerdefinierte 401, 403 und 500 Fehlerseiten in WordPress erstellen?
php
htaccess
404-error
template-hierarchy
500-internal-error
Henrywright
quelle
quelle
Antworten:
Fehlerseiten werden über .HTACCESS bereitgestellt. Wenn Sie Apache verwenden, würden Sie die
ErrorDocument
Direktive verwenden und den Status und die URL hinzufügen.So würde es in Ihrer .htaccess-Datei aussehen:
Sie können die folgende Funktion verwenden. Dadurch wird dynamisch hinzugefügt, was für Sie in der HTACCESS-Datei benötigt wird, oder Sie können dies manuell tun.
1. Seiten hinzufügen:
Sie müssten dann in Ihr Dashboard gehen und die Seiten wie jede normale Seite erstellen ('Dashboard'> 'Seiten'> 'Neu'). Sie können mit beliebigen Titeln versehen werden. Vergewissern Sie sich jedoch, dass der Slug mit der unten angegebenen Funktion übereinstimmt (Slug: Fehler-401, Fehler-403, Fehler-404, Fehler-500). Sie können auch eine Seitenvorlage verwenden, um das gewünschte Layout und den gewünschten Stil für diese speziellen Seiten zu erstellen. Folgen Sie dazu den Anweisungen von WordPress Codex .
2. Funktion hinzufügen:
NB !! HINWEISE ZUR OBEN GENANNTEN FUNKTION
Wenn Sie Ihre Website verschieben oder die URL-Struktur ändern
Bei der obigen Funktion ist zu beachten, dass vor dem Schreiben in Ihre HTACCESS-Datei überprüft wird, ob die ErrorDocument-Direktiven bereits vorhanden sind. Die ErrorDocument-Direktiven werden jedoch nicht neu geschrieben, wenn Sie Ihr Blog ändern oder verschieben, um die aktualisierten Seitenpositionen widerzuspiegeln. Sie müssten zuerst die vorhandenen ErrorDocument-Anweisungen in Ihrer HTACCESS-Datei löschen und diese Funktion dann erneut ausführen, um die neuen Anweisungen zu erstellen.
Korrigieren Sie den Haken, um die Funktion NUR EINMAL auszulösen
Die andere Sache, die zu beachten ist, ist diese Funktion, die die
init
Aktion jedes Mal ausführt, wenn Ihre Seiten geladen werden, was überflüssig und verschwenderisch ist. Daher würde ich vorschlagen, sie einem Plugin hinzuzufügen und die Funktionregister_activation_hook
eher zu verwenden, damit sie nur einmal bei der Aktivierung des Plugins ausgelöst wirdDateiberechtigungen
Es ist auch unbedingt erforderlich, dass Ihre .htaccess-Datei beschreibbar ist, wenn Sie die oben genannte Funktion verwenden. Vergewissern Sie sich daher, dass sie über die richtigen Dateiberechtigungen verfügt, z. B. CHMOD777.
quelle