Search 404 Weiterleitung
am 08.12.2010 - 10:42 Uhr in
Hallo zusammen,
ich habe folgendes Problem. Durch das Löschen von diversen Artikeln werden nun natürlich viele 404er Fehler verursacht. Um das "aufzuhübschen" habe ich das Search404 Modul installiert.
Unter Admin - Einstellungen - Fehlermeldungen - steht nun auch bei 404 Fehlerseite "search404" drin.
Wenn ich nun aber die Seite /node/399/ aufrufe, sucht er nach "node" und "399". Nachdem er hier nichts findet, gibt es auch keine Weiterleitung auf ein Ergebnis wie ich das in den Einstellungen zu Search404 hinterlegt habe.
Allerdings bin ich davon ausgegangen, dass er dann auch auf die Seite search404 weiterleitet anstatt diesen Output nur zu rendern.
Sprich was ich eigentlich bräuchte, wäre eine Weiterleitung beim Aufruf von /node/399 auf /search404
Leider sind das inzwischen sehr viele 404 Seiten, weswegen ich nicht jede 404 Seite per Hand umleiten möchte. Ich glaub dafür gibt es ja ein Modul Pathredirect.
Läuft mein Search404 nicht richtig oder brauche ich dazu noch Zusatzmodule ?
Muss ich eventuell was in der htaccess (Errordocument) ändern ?
Über Hilfe wäre ich sehr dankbar.
Viele Grüße
Tom
- Anmelden oder Registrieren um Kommentare zu schreiben
jr-ewing schrieb Sprich was
am 08.12.2010 - 10:51 Uhr
Sprich was ich eigentlich bräuchte, wäre eine Weiterleitung beim Aufruf von /node/399 auf /search404
Binmir jetzt nicht sicher, dein Problem verstanden zu haben, aber unter /admin/settings/error-reporting kannst du doch eigene Fehlerseiten anlegen. Einfach eine entsprechende Seite schreiben und den Pfad oder die entsprechende node/ID dann dort angeben.
Screenshot?
am 08.12.2010 - 10:54 Uhr
Hallo.
Kannst Du mal einen Screenshot zeigen vom Ergbnis von "node/399"?
Normalerweise sollte [do:search404 Search 404] ja zumindest eine Meldung anzeigen.
404-Seite
am 08.12.2010 - 10:55 Uhr
@Thoor: [do:search404 Search 404] setzt diesen Wert beim Speichern der Konfiguration immer wieder auf "search404" zurück. Ansonsten würde das Modul dann nicht mehr funktionieren.
es geht mir oben um die
am 08.12.2010 - 11:01 Uhr
es geht mir oben um die Browserurl.
hier bleibt /node/399 stehen
Beispiel wäre: http://www.hobby-pflanzen-xl.de/node/399
Eigentlich würde ich eine Weiterleitung auf
http://www.hobby-pflanzen-xl.de/search404
bevorzugen wenn kein Ergebnis vorhanden ist.
Thoor schrieb jr-ewing
am 08.12.2010 - 11:02 Uhr
Sprich was ich eigentlich bräuchte, wäre eine Weiterleitung beim Aufruf von /node/399 auf /search404
Binmir jetzt nicht sicher, dein Problem verstanden zu haben, aber unter /admin/settings/error-reporting kannst du doch eigene Fehlerseiten anlegen. Einfach eine entsprechende Seite schreiben und den Pfad oder die entsprechende node/ID dann dort angeben.
Ja der Inhalt von search404 wird auch ausgegeben. Allerdings bleibt oben die URL /node/399 bestehen und keine Weiterleitung erfolgt.
Umleitung
am 08.12.2010 - 11:18 Uhr
Hm, in der Tat. Die URL bleibt unverändert. Dazu habe ich momentan leider auch keine Idee.
Ich hab jetzt mal auf Drupal
am 08.12.2010 - 11:24 Uhr
Ich hab jetzt mal auf Drupal Org ne Issue aufgemacht.
http://drupal.org/node/992360
Momentan ist es nämlich möglich, wenn er ein Ergebnis findet, an dieses weiterzuleiten.
Ich bräuchte die Möglichkeit ne Seite anzugeben, wenn eben kein Ergebnis gefunden wird.
Vielleicht kennt ja einer einen kleinen Workaround ?
Gruß Tom
Hier meine Lösung: based on
am 08.12.2010 - 13:48 Uhr
Hier meine Lösung:
based on search404-6.x-1.x-dev.tar.gz from 2010-Jul-18:
File: search404.module
-------------------------------
Replace Line 125:
$keys = search404_get_keys();
with:
if (variable_get('search404_custom_page', '') == '') {
// If no custom page has be set, display the default search form
$keys = search404_get_keys();
} else {
// Redirect to the custom page
search404_goto( variable_get('search404_custom_page',''));
}
-----------------------------
ADD Line 224
$form['search404_custom_page'] = array(
'#type' => 'textfield',
'#title' => t('Custom page if no nodes has been found'),
'#description' => t('This page will be displayed if no nodes will be found. Leave blank to disable this option.'),
'#default_value' => variable_get('search404_custom_page', ''),
);
Tom