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

Dynamische 301 Weiterleitung...

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
Freilaufender
PostRank 5
PostRank 5
Beiträge: 307
Registriert: 13.07.2005, 07:24

Beitrag von Freilaufender » 11.03.2006, 14:20

So, jetzt brauche ich auch mal einen "Augenöffner":

Im Rahmer einer SuMa-Optimierung habe ich eine URL umgestellt:

Aus
www.domain.de/pfad/index.php?title=keyword
ist
www.domain.de/pfad/keyword
geworden.

Intern läuft also folgender Rewrite:
RewriteRule ^pfad/?(.*)$ /w/index.php?title=$1 [L,QSA]

Nun sind aber bereits Unterseiten im Index mit der bisherigen URL gespeichert. Diese will ich mittels 301 auf das neue Seitenformat ändern und habe folgende Regel vor dem oben erwähnten Rewrite eingebaut:

RewriteRule ^pfad/index.php?title=(.*)$ https://www.domaini.de/pfad/$1 [R=301,N]

Aus irgend einem Grunde will das aber nicht so, wie es soll. Fällt irendjemandem der Fehler auf? In der Browserzeile taucht beim Ansprung der alten URL nach wie vor selbige auf....

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Anonymous

Beitrag von Anonymous » 11.03.2006, 14:48

^pfad\/index\.php\?title=(.*)$


. ? und / haben in regulären Ausdrücken eine Funktion, deshalb muss man ein \ davorsetzen, wenn man das zeichen meint...

Freilaufender
PostRank 5
PostRank 5
Beiträge: 307
Registriert: 13.07.2005, 07:24

Beitrag von Freilaufender » 11.03.2006, 16:59

Das alleine tut noch nicht...

Domain-Daten und httaccess sende ich gerne per PN.

Freilaufender
PostRank 5
PostRank 5
Beiträge: 307
Registriert: 13.07.2005, 07:24

Beitrag von Freilaufender » 11.03.2006, 17:32

Also, habe den Fehler / das Problem eingrenzen können:

Rewrite
RewriteRule ^pfad/index.php(.*)$ https://www.domain.de/pfad/sitemap [R=301,L]
liefert
https://www.domain.de/pfad/sitemap?title=thema

Der Inhalt von (.*) wird auch dann angehängt, wenn das gar nicht explizit gewünscht wird.
Ist der Inhalt (in meinem Fall "?title=thema") in irgend einer Form filterbar auf nur noch "thema"?

Caterham
PostRank 5
PostRank 5
Beiträge: 329
Registriert: 20.09.2004, 19:12

Beitrag von Caterham » 12.03.2006, 00:17

Auf den queryString kannst du nur über eine Condition zugreifen,
RewriteCond %{QUERY_STRING} RegEx
, hier hast du jedoch gleich einen Sonderfall, wo du THE_REQUEST nutzen musst, um eine Endlosschleife zu verhindern:

Code: Alles auswählen

RewriteEngine on
RewriteRule ^pfad/?(.*)$ /w/index.php?title=$1 [L,QSA]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,4}\ /w/index\.php\?title=([^\ ]+)\ HTTP
Rewriterule ^w/index\.php$ /pfad/%1 [R=301,L]
Leerzeichen enthält dein thema aber nicht? Falls doch, dann musst du

Code: Alles auswählen

RewriteEngine on
RewriteRule ^pfad/?(.*)$ /w/index.php?title=$1 [L,QSA]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,4}\ /w/index\.php\?title=(.+)\ HTTP
Rewriterule ^w/index\.php$ /pfad/%1 [R=301,L]
nutzen.

Grüße
Robert

Freilaufender
PostRank 5
PostRank 5
Beiträge: 307
Registriert: 13.07.2005, 07:24

Beitrag von Freilaufender » 12.03.2006, 11:40

Habe das Problem lösen können. Danke!

aklotus
PostRank 2
PostRank 2
Beiträge: 42
Registriert: 05.04.2005, 14:01
Wohnort: Erlangen

Beitrag von aklotus » 13.03.2006, 10:36

Hallo Freilaufender,

wie ist denn nun die richtige Lösung für das Problem?

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag