Herzlich willkommen im Archiv vom ABAKUS Online Marketing Forum
Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.
das bedeutet doch nur das eine externe 404 Fehlerseite verwendet wird, aber das eigentlich gesuchte Dokument nicht vorhanden ist... und genauso verstehen es auch die bots... und dabei ist es ja auch vollkommen egal ob die Fehlerseite lokal liegt oder extern... 404 ist 404...nocte hat geschrieben:gut, aber es gibt einen 404er Header und darauf eine Weiterleitung, wenn ich folgendes in meine .htaccess schreibe:
ErrorDocument 404 https://www.domain.tld/richtige-seite.html
Nein, per HTTP kann man eines zur Zeit antworten. Diese unselige Möglichkeit, als Fehlerseite eine externe URL angeben zu können, führt nur dazu, dass statt (!) des eigentlichen Fehlers eine Weiterleitung ausgespuckt wird. Der eigentliche Fehler wird also unterdrückt.nocte hat geschrieben:gut, aber es gibt einen 404er Header und darauf eine Weiterleitung, wenn ich folgendes in meine .htaccess schreibe:
ErrorDocument 404 https://www.domain.tld/richtige-seite.html
Redirect und RedirectMatch sind deine Freunde.dann mache ich eine 301 Weiterleitung.
Kann mir jemand sagen wie das in einer htaccess aussieht?
Code: Alles auswählen
RedirectMatch 301 /cgi-bin/(.*) http://www.topliste.tld/topliste/topliste.php
Code: Alles auswählen
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.domain\.de$
RewriteRule ^(.*)$ http://www.domain.de/$1 [L,R=301]
Code: Alles auswählen
RedirectMatch 301 /cgi-bin/(.*) http://www.topliste.tld/topliste/topliste.php
RewriteRule ist nicht eleganter oder hässlicher als Redirect, es hat nur andere Möglichkeiten. Für eine simple Weiterleitung von /a nach /b ist Redirect die bessere Wahl, es sei denn, man will unbedingt mit Kanonen auf Spatzen schießen. Für eine komplexe Weiterleitung ist RewriteRule besser, weil man mit einer Fliegenklatsche, so handlich und flink sie auch anzuwenden ist, keinen Elefanten erlegen kann.nocte hat geschrieben:Danke schonmal. Gibts da nicht auch eine elegantere Methode mit mod_rewrite?
Aha, du hast also ein komplexeres Problem. In /.htaccess:Leider werden dabei die Paramter aus dem cgi-bin-verzeichnis an die neue URL angehängt, also z.B. https://www.topliste.tld/topliste/topli ... ameter=123Code: Alles auswählen
RedirectMatch 301 /cgi-bin/(.*) http://www.topliste.tld/topliste/topliste.php
Dafür gibt es eigentlich nur eine Stelle: Die Originaldokumentation.adw4712 hat geschrieben:Habe gerade angefangen das Netz nach
RewriteCond und RewriteRule zu durchsuchen
Was meinst du mit „das Weiterleitungsproblem“? Es gibt nicht nur eine einzelne Weiterleitung, es gibt unendlich viele Anwendungen für Weiterleitungen. Es gibt doch auch nicht „das HTML-Problem“.Jetzt kommt hier noch RedirectMatch dazu und ein ganz anderer Code:Code: Alles auswählen
RewriteCond %{HTTP_HOST} !^www\.domain\.de$ RewriteRule ^(.*)$ http://www.domain.de/$1 [L,R=301]
Ich dachte das Weiterleitungsproblem ist ein "Aller-Welts-Problem" und es gibt eine einheitliche Lösung. :roll:Code: Alles auswählen
RedirectMatch 301 /cgi-bin/(.*) http://www.topliste.tld/topliste/topliste.php