Viele 404 Fehler - ModRewrite Hilfe

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Lizardx
Mitglied
Beiträge: 212
Registriert: 20.05.2006 18:35

Viele 404 Fehler - ModRewrite Hilfe

Beitrag von Lizardx »

Hallo,

seit meinem Forumsupdate auf die neueste Version hat sich bei meiner Url Struktur etwas geändert. Nun gibt es sehr viele 404 Seiten. Obwohl das Update vor 4 Monaten stattfand und ich eine Sitemap eingerichtet habe, steigt die Anzahl an 404 Seiten bei Google. Das betrifft einerseits Seiten die mehr als 15 Beiträge haben. Vor dem Update lautete die Url Struktur in etwa so:

domain.de/topic1025-15.html

Nun lautet sie so: domain.de/topic1025-s15.html

Weiß jemand wie es möglich ist, eine 301 Weiterleitung einzubauen, so dass die alten Urls zur neue weiterleitet werden? Ist sowas überhaupt möglich? (Kenne mich mit ModRewrite null aus).

Auch gibt es wahnsinnig viele 404 Fehler bei derartigen Urls:
post84369.html

Kann man diese alten Urls via 301 weiterleiten an: topic9592.html#p84369 ??
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Viele 404 Fehler - ModRewrite Hilfe

Beitrag von gn#36 »

Wenn die Weiterleitung einer Logik folgt, die sich aus der URL selbst ergibt (wie in deinem ersten Beispiel, hier kommt ja nur das s hinzu) kannst du die Weiterleitung mit Mod Rewrite machen. Wenn du zusatzinfos brauchst (also z.B. von einem Post auf ein Topic schließen wie in deinem zweiten Beispiel) wird das schwierig.

Die Weiterleitung für den ersten Fall müsste irgendwie so ähnlich wie das hier aussehen:

Code: Alles auswählen

RewriteRule topic([0-9]+)-([0-9]+).html$ http://example.com/topic$1-s$2.html [R=301,QSA]
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Lizardx
Mitglied
Beiträge: 212
Registriert: 20.05.2006 18:35

Re: Viele 404 Fehler - ModRewrite Hilfe

Beitrag von Lizardx »

Danke für die erste Hilfe, leider funktioniert das nicht. Habe folgende Varianten ausprobiert:

Code: Alles auswählen

RewriteRule topic([0-9]+)-([0-9]+).html$ http://forum.domain.com/topic$1-s$2.html [R=301,QSA]
RewriteRule topic([0-9]+)-([0-9]+).html$ topic$1-s$2.html [R=301,QSA]
RewriteRule ^topic([0-9]+)-([0-9]+).html$ http://forum.domain.com/topic$1-s$2.html [R=301,QSA]
RewriteRule ^topic([0-9]+)-([0-9]+).html$ topic$1-s$2.html [R=301,QSA]

Hat jemand ne Ahnung?
vfrblue
Ehemaliges Teammitglied
Beiträge: 1993
Registriert: 22.11.2016 18:46

Re: Viele 404 Fehler - ModRewrite Hilfe

Beitrag von vfrblue »

Hast du die neue Sitemap auch von der Google Search Console einlesen lassen?
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Re: Viele 404 Fehler - ModRewrite Hilfe

Beitrag von cYbercOsmOnauT »

1.) Man sollte nie relativ redirecten, denn mod_rewrite sieht nicht den HTML DOCROOT als Basis, sondern das aktuelle Serververzeichnis. Also wenn Dein Board z.B. auf dem Server unter /var/www/html/board/ zu finden ist, führt dein relativer Redirect zu http://www.domain.de/var/www/html/board/topic.html.
2.) Ein GET Request beginnt mit einem absoluten Slash. Im Hauptverzeichnis wäre somit der passende RegEx ^/topic.... Jedoch passt dies nur bei Aufrufen direkt aus dem Hauptverzeichnis und solche von (virtuellen) Unterverzeichnissen fallen flach.
3.) Ein Redirect dauert einige Millisekunden. In dieser Zeit arbeitet Apache die htaccess weiter ab. Deswegen sollte ein R=301 besser immer mit einem ,L enden. L für Last. Wenns passt, mach nicht weiter mit den Rewrites.

Ergo: Die Lösung von gn#36 ist für die von Dir genannten Angaben korrekt. Ich denke Du hast da etwas vergessen zu erwähnen. Schau auch ob mod_rewrite überhaupt als Modul geladen wird.
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Lizardx
Mitglied
Beiträge: 212
Registriert: 20.05.2006 18:35

Re: Viele 404 Fehler - ModRewrite Hilfe

Beitrag von Lizardx »

Hallo,

ich bin nun aus dem Urlaub zurück und bedanke mich für Eure Hilfe. Ich habe es nun endlich hinbekommen, mit folgender Variante:

Code: Alles auswählen

RewriteRule topic([0-9]+)-([0-9]+).html$ topic$1-s$2.html [R=301,L]
Ich habe aber weiterhin sehr viele 404 Seiten wenn man von Google auf meine Seite landet - bei folgenden Urls:

Code: Alles auswählen

post84369.html
Die Urls gibt es ja nicht mehr.... richtig wäre jetzt:
topic9592.html#p84369
Gibt es dafür auch eine ModRewrite Variante? Ich stelle mir das sehr schwierig bis unmöglich vor. Würde aber gerne eine Bestätigung von jmd bekommen, der sich damit auskennt.
Benutzeravatar
canonknipser
Ehemaliges Teammitglied
Beiträge: 2053
Registriert: 10.09.2011 11:14
Kontaktdaten:

Re: Viele 404 Fehler - ModRewrite Hilfe

Beitrag von canonknipser »

Das Problem ist, woher soll der Apache-Server wissen, welcher Post in welchen Topic gehört.

Du kannst es an die originale phpBB-Adresse weiterleiten, musst dann allerdings ggf. mit doppeltem Content leben, weil deine neue "SEO-Url" auch noch gültig ist:
.../viewtopic.php?p=84369#p84369
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived ;) - Bilder
Kein Support via PN, nur im Board und (manchmal) im IRC
Lizardx
Mitglied
Beiträge: 212
Registriert: 20.05.2006 18:35

Re: Viele 404 Fehler - ModRewrite Hilfe

Beitrag von Lizardx »

Wie müsste dazu denn der Mod Rewrite Befehl aussehen? ich habe nicht den geringsten Schimmer von Programmieren ;)

Doppelter Content wäre nicht so tragisch, da ich auf allen Seiten einen Canonical verwende. Hauptsache die User gelangen von Google nicht auf eine 404 Seite.
Benutzeravatar
canonknipser
Ehemaliges Teammitglied
Beiträge: 2053
Registriert: 10.09.2011 11:14
Kontaktdaten:

Re: Viele 404 Fehler - ModRewrite Hilfe

Beitrag von canonknipser »

Versuchs mal damit:
RewriteRule post([0-9]+).html$ viewtopic.php?p=$1#p$1 [R=301,L]
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived ;) - Bilder
Kein Support via PN, nur im Board und (manchmal) im IRC
Lizardx
Mitglied
Beiträge: 212
Registriert: 20.05.2006 18:35

Re: Viele 404 Fehler - ModRewrite Hilfe

Beitrag von Lizardx »

Danke für die Antwort. Wenn ich das so einbaue, lauten die Urls bei mir so:

Code: Alles auswählen

viewtopic.php?p=36090%23p36090
Ich verstehe nicht, wieso diese drei Zeichen in der Url auftauchen: %23

Kann man das in ein # ersetzen? Der Befehl sieht ja eigentlich ganz richtig aus.
Antworten

Zurück zu „Coding & Technik“