Seite 1 von 1

Unterstrich gegen Bindestrich als Trennzeichen ersetzen

Verfasst: 09.09.2006, 17:24
von URL
Hallo Gemeinde!

Ich habe ein kleines Problem und hoffe ihr könnt mir weiterhelfen:

Und zwar betreibe ich ein Forum mit mod_rewrite Unterstützung. Bisher habe ich zur Trennung der URL´s einen Unterstrich benutzt, den ich jetzt gern gegen einen Bindestrich ersetzen möchte.

Jetzt habe ich in dem SEO-Modul des Boards den Bindestrich als Trennung eingestellt. Das Problem ist jetzt aber, dass sich im Index von Google natürlich noch die URL´s mit Unterstrich befinden und auch weiterhin noch erreichbar sind.

Um jetzt keinen double content zu erzeugen muss ich die alten URL´s mit Unterstrich per 301 auf das neue Format umleiten und genau da weiß ich nicht wie ich das anstellen soll.

Die vom Seo-Modul erzeugte .htaccess sieht wie folgt aus:

Code: Alles auswählen

RewriteCond %{REQUEST_FILENAME} /t([0-9]+),([0-9]+)-(.*).html 
RewriteRule (.*) /thread.php?threadid=%1&page=%2 [L,QSA]
RewriteCond %{REQUEST_FILENAME} /t([0-9]+)-(.*)-last.html
RewriteRule (.*) /thread.php?goto=lastpost&threadid=%1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} /t([0-9]+)-(.*)-ungelesen.html
RewriteRule (.*) /thread.php?goto=firstnew&threadid=%1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} /t([0-9]+)-(.*).html
RewriteRule (.*) /thread.php?threadid=%1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} /f([0-9]+),([0-9]+)-(.*).html
RewriteRule (.*) /board.php?boardid=%1&page=%2 [L,QSA]
RewriteCond %{REQUEST_FILENAME} /f([0-9]+)-(.*).html
RewriteRule (.*) /board.php?boardid=%1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} /mitglied([0-9]+)-(.*).html
RewriteRule (.*) /profile.php?userid=%1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} /t([0-9]+)-(.*)-beitrag([0-9]+).html
RewriteRule (.*) /thread.php?postid=%3#post%3 [L,QSA]
RewriteCond %{REQUEST_FILENAME} /seo_themen_index([0-9]*).html
RewriteRule (.*) /seo_themen_index.php?spage=%1 [L,QSA]
Füge ich jetzt

Code: Alles auswählen

RewriteRule   ([^_]*)_(.*)   /$1-$2   [L,R=301] 
hinzu, werden auch schön alle alten URL´s aus dem Googleindex umgeschrieben/umgeleitet.

Das Problem ist aber, dass jetzt sämliche Unterstriche gegen Bindestriche ersetzt werden und somit viele Bereiche vom Board nicht mehr erreichbar sind.

Hat jemand ne Idee wie ich die Regel einschränken kann, dass sie nur auf die URL´s der Beiträge/Foren angewendet wird?

Grüße

URL

Verfasst:
von
Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Verfasst: 09.09.2006, 17:44
von Southmedia
Beim SEO-Modul wieder Unterstrich einstellen, die RewriteCond kopieren und vor deine Umleitungsrule setzen, danach wieder umstellen auf Bindestrich. Dann wird deine Umleitungsrule nur angewendet wenn sie dem Schema entspricht, das die URLs früher hatten.

Verständlich?

Verfasst: 09.09.2006, 17:50
von URL
Danke für deine Antwort, aber das war das erste was ich ausprobiert habe.

Komischerweise sind die erzeugten .htaccess Dateien völlig identisch (bis aufs Zugriffsdatum), ich weiß, kann nicht sein, ist aber so.

Hab mich diesbezüglich schon mit dem Entwickler des Moduls kurzgeschlossen.

Andere Idee?

Danke

URL

Verfasst:
von

Verfasst: 11.09.2006, 11:59
von Southmedia
Dann ersetze doch einfach alle Vorkommnisse von - auser .htaccess für die Unterstrichversion durch _ und nutze die Conditions dann. Wobei es wirklich 0 Sinn macht.

Verfasst: 11.09.2006, 16:52
von URL

Code: Alles auswählen

RewriteRule   ^(t[^_]*)_(.*)   /$1-$2   [L,R=301] 
RewriteRule   ^(f[^_]*)_(.*)   /$1-$2   [L,R=301] 
RewriteRule   ^(m[^_]*)_(.*)   /$1-$2   [L,R=301] 
Habs jetzt so, und scheinbar klappts. Wenn ich nen alten Thread (mit _ als Trennung) aus dem Cache anspreche kommt nen 301er Status zurück und er schreibt sie um.

Gibts da aus der Suma-Sicht irgendwelche Probs, die ich nicht bedacht habe?