Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Unterstrich gegen Bindestrich als Trennzeichen ersetzen

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
URL
PostRank 3
PostRank 3
Beiträge: 87
Registriert: 08.09.2006, 11:16
Wohnort: Bochum

Beitrag von URL » 09.09.2006, 17:24

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
Zuletzt geändert von URL am 09.09.2006, 18:37, insgesamt 1-mal geändert.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

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

Southmedia
PostRank 10
PostRank 10
Beiträge: 7322
Registriert: 20.07.2003, 19:56

Beitrag von Southmedia » 09.09.2006, 17:44

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?

URL
PostRank 3
PostRank 3
Beiträge: 87
Registriert: 08.09.2006, 11:16
Wohnort: Bochum

Beitrag von URL » 09.09.2006, 17:50

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