Alte URI an neue Domain + URI anpassen

Eines der wichtigsten Anwendungsgebiete von mod_rewrite ist das umschreiben von dynamischen in statische URLs um "suchmaschinenfreundliche URLs" zu erzeugen. Aber was ist besser fürs Ranking? http://www.url.com/12_2.htm, http://www.url.com/url,12,2.htm oder doch lieber http://www.url.com/12/2/url/ Fragen zum URL-Design werden hier diskutiert.

Moderator: Super-Mod

Alte URI an neue Domain + URI anpassen

Beitragvon pixelfly » 21.09.2009 23:12

Hallo liebes Forum,

ich hocke nun schon den ganzen Abend an folgendem Problem:

alte Struktur:
http://sub.altedomain.tld/news.php?id=850
http://sub.altedomain.tld/dates.php

neue Struktur:
http://www.neuedomain.tld/service/presse_news-850.php
http://www.neuedomain.tld/termine.php

Zusätzlich soll, falls keine Regel greift, alles von der alten Domain (sub.altedomain.tld) auf die neue Domain (www.neuedomain.tld) per 301 verweisen.
Ausgeschlossen: Verzeichnis /admin und /download

Mein bisheriger Code:
Code: Alles auswählen
RewriteEngine On
Options +FollowSymlinks

RewriteBase /

# Verzeichnis admin nicht umleiten!
RewriteRule ^admin|download - [L]

# Alles nicht definierte auf neue Domain umleiten
RewriteCond %{HTTP_HOST} !^www\.neuedomain\.de$
RewriteRule ^ http://www.neuedomain.de/ [L,R=301]


Das Verzeichnis /admin und /download wird davon nicht tangiert, klappt also wie gewünscht.
Der Verweis von allen nicht definierten URIs auf die neue Domain klappt auch.

Wer kann mir bei der Umsetzung von dem alten Schema auf neue Schema helfen?
Ich bekomm die Regel einfach nicht gebacken.

Trotz Forensuche und Googlen komme ich nicht weiter :-/
Wer kann mir weiterhelfen?

Vielen Dank!!

Gruß,
Stefan
pixelfly
.
.
 
Beiträge: 4
Registriert: 23.12.2008 21:12
Wohnort: Nürnberg

Beitragvon pixelfly » 22.09.2009 12:03

So, hab mein Anliegen etwas präzisiert und meine RewriteRules durch meine aktuellen Erkenntnisse verbessert.

Kann mir dennoch keiner helfen? :(
pixelfly
.
.
 
Beiträge: 4
Registriert: 23.12.2008 21:12
Wohnort: Nürnberg

Beitragvon pixelfly » 23.09.2009 00:46

Mit viel probieren hat's nun geklappt:

Code: Alles auswählen
RewriteCond %{QUERY_STRING} id=([0-9]*)
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule ^news.php$ http://www.neuedomain.tld/service/presse_news-%1.php [R=301,L]



ABER :lol:
http://sub.altedomain.tld/news.php?id?=123

Und als Ausgabe kommt:
http://www.neuedomain.de/service/presse ... php?id=123

Wie bekomme ich am Ende den doofen Querystring weg?

Hat jemand Ideen?

Gruß!
pixelfly
.
.
 
Beiträge: 4
Registriert: 23.12.2008 21:12
Wohnort: Nürnberg

Beitragvon Gumbo » 23.09.2009 11:56

Du musst in der Ersatz-URL eine leere Query angeben, da sonst die ursprünglich angefragte Query übernommen wird:
Code: Alles auswählen
RewriteRule ^news.php$ http://www.neuedomain.tld/service/presse_news-%1.php? [R=301,L]
Markus Wulftange
Gumbo
Moderator
Moderator
 
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier


Zurück zu URL-Design

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron