Wie bringt man Joomla dazu, einen "echten" 404-Code zurückzugeben? Ich kann nicht herausfinden, wie ich das erreichen kann! Ich habe mich verändert htaccess.txt
zu .htaccess
, aktiviert das System / Redirect - Plugin, und Umschreiben von URLs in den die Joomla globalen Optionen gedreht.
Jede gefälschte URL, die ich eingebe, leitet jedoch einfach zur Startseite weiter, nicht einmal zur Standard-Joomla-Fehlerseite.
Dies geschieht auch auf der Joomla-Demo-Site hier: https://demo.joomla.org/badurl_fake
Weiter testen:
Joomla Global Use Rewrite: OFF
Joomla htaccess.txt renamed: NO
Joomla redirect plugin enabled: NO
Dies führt zu einer fehlerhaften URL, die einen echten 404-Fehler zurückgibt
Joomla Global Use Rewrite: ON
Joomla htaccess.txt renamed: NO
Joomla redirect plugin enabled: NO
Dies führt zu einer fehlerhaften URL, die einen echten 404-Fehler zurückgibt
Joomla Global Use Rewrite: ON
Joomla htaccess.txt renamed: NO
Joomla redirect plugin enabled: YES
Dies führt zu einer fehlerhaften URL, die einen echten 404-Fehler zurückgibt
Joomla Global Use Rewrite: ON
Joomla htaccess.txt renamed: YES
Joomla redirect plugin enabled: YES
Dies führt zu einer falschen URL, die den Benutzer zur Startseite zurückbringt
Joomla Global Use Rewrite: OFF
Joomla htaccess.txt renamed: YES
Joomla redirect plugin enabled: YES
Dies führt zu einer falschen URL, die den Benutzer zur Startseite zurückbringt
Joomla Global Use Rewrite: OFF
Joomla htaccess.txt renamed: YES
Joomla redirect plugin enabled: NO
Dies führt zu einer falschen URL, die den Benutzer zur Startseite zurückbringt
Es scheint mir also, dass der Erfolg hier der Schuldige ist. Bei meinen Tests wird der 404 immer dann auf die Indexseite umgeleitet, wenn die .htacess vorhanden ist.
quelle
Antworten:
Dies ist kein Fehler, sondern das erwartete Verhalten. Wenn Sie in der Benutzeroberfläche des Joomla-Administrators zu Komponenten> Umleiten navigieren, wird eine Liste aller URL-Anforderungen angezeigt, die zu einem 404 führen. Joomla zeichnet sie automatisch in dieser Komponente auf und leitet die Anforderung an die Startseite weiter.
Der Grund dafür ist zweifach: Erstens, um eine negative Benutzererfahrung zu verhindern, indem Fehlerseiten gemindert werden, und zweitens, um einem Website-Administrator die Möglichkeit zu geben, die gewünschten Endpunkte zu verfolgen und manuell weiterzuleiten. Ich habe einen Link zu Joomla-Dokumenten angehängt, die ausführlicher erläutert werden.
http://docs.joomla.org/Help33:Components_Redirect_Manager
quelle
Sie können den 404-Fehler anpassen (Beispiel: Eine benutzerdefinierte Seite anzeigen oder an eine andere Stelle als die Startseite senden), indem Sie Ihrer Vorlage eine PHP-Datei hinzufügen, sie benennen
error.php
und im Stammverzeichnis der Vorlage (nebenindex.php
der Vorlage) ablegen.In dieser Datei können Sie angeben, was zu tun ist, z. B. an eine
/SOMEWHEREINYOURSITE
beliebige Stelle auf Ihrer Website senden (Aktualisierung mit der gewünschten URL):Methode 2:
Wenn Sie wissen, dass Sie die .htaccess-Datei verwenden (von der ich annehme, dass Sie einen Apache-Server verwenden), können Sie eine Definition hinzufügen, wie mit dem 404-Fehler verfahren werden soll.
Platzieren Sie dies oben in der .htaccess-Datei:
Aktualisieren Sie wie bei der vorherigen Methode
/SOMEWHEREINYOURSITE
mit der gewünschten URL.quelle
system
Ich habe dies kürzlich auf einigen Websites gesehen und gerade festgestellt, dass es passiert, wenn sich die Website im Offline-Modus befindet und Sie am Frontend angemeldet sind.
Wenn die Site online ist und Sie eine URL erstellen, erhalten Sie die Standardfehlerseite mit dem Statuscode.
Wenn die Site offline ist und Sie angemeldet sind, werden Sie mit einem anderen Statuscode zu /index.php umgeleitet.
quelle