Zum Inhalt springen

RealUrl Redirect leiten nicht weiter

Erstellt am 7. Juli 2011 · 5 Antworten · letzte Antwort am 12. Juli 2011

Tags: RealURL, Weiterleitungen & 404, Frage

KWA ·

Guten Tag,

Nach einem Relaunch einer Internetseite und Neuaufbau mit Typo3, möchte ich die alten URLs der Seite (statisches Konstrukt aus PHP und HTML) nun per manueller "Redirects 301" auf die neuen Seiten umleiten. Wollte dies manuell tuen, da es sich um maximal 40 Seiten handelt.

Folgende Versionen nutze ich: Typo3: 4.5.2, RealURL: 1.11.1

Dies lässt sich ja problemlos unter Info -> RealURL Verwaltung -> Redirects einrichten

So habe ich halt z.B. Folgende Umleitungen eingegeben die problemlos umgeleitet werden:

Source: http://www.meine-domain.de/unterseite.php
Redirect to: http://www.meine-domain.de/aktuelles/unterseite/

Oder

Quelle: http://www.meine-domain.de/hund-katze-maus.html
Ziel: http://www.meine-domain.de/leistungen/leistugsuebersicht/hund-katze-maus/

Will ich allerdings jetzt die ganzen alten URLs umleiten auf die neuen Inhalte wie z.B.

Source:
http://www.meine-domain.de/index.php?inhalt=hund_katze_maus&id=1
http://www.meine-domain.de/index.php?inhalt=unterseite&id=1&uid=5
http://www.meine-domain.de/index.php?inhalt=drittes_beispiel&id=4&uid=7

Redirect to:
http://www.meine-domain.de/hund-katze-maus/
http://www.meine-domain.de/unterseite/
http://www.meine-domain.de/drittes-beispiel/

Wird eine 404-Error ausgegeben, bzw. die entsprechende Typo3-Fehlerseite:

[size=20pt]Oops, an error occured![/size]

The requested page does not exist!

Ich konnte das Problem schon auf die zusätzlichen Parameter/Attribute (oder wie man die nennt) “&id=X” und “&uid=X” eingrenzen.

Sobald eine klare ID im URL-Pfad steht, klappts nicht mehr.
Bedeutet, heißt der Pfad: ...detail&id= klaptpt es.
Heißt er: ...detail&id=3 geht’s nicht mehr.

Die restlichen Funktionen von RealURL funktionieren problemlos. Ob De/Encode umschreiben der Pfade etc.

Wie schaffe ich es nun, dass die Umleitungen korrekt funktionieren?

Vielen Dank schon mal im vorraus für mögliche Hilfe.
Falls mehr Informationen benötigt werden, (z.B. die Localconf.php-Erweiterungen o.Ä.) kurz Bescheid geben, dann versuche ich auszuhelfen.

mit freundlichen Grüßen
Christian

rrudorfer ·

Hallo Christian!

Du kannst die Redirects auch direkt in der .htaccess machen... Halte ich persönlich sogar für den geeigneteren Platz...

RewriteCond %{REQUEST_URI} ^index.php?inhalt=hund_katze_maus&id=1$ [NC]
RewriteRule ^.*$ "http\:\/\/www\.meine-domain\.de\/hund-katze-maus\/" [R=301,L]

RewriteCond %{REQUEST_URI} ^index.php?inhalt=unterseite&id=1&uid=5$ [NC]
RewriteRule ^.*$ "http\:\/\/www\.meine-domain\.de\/unterseite/\/" [R=301,L]

Und das am Besten gleich nach dem "RewriteEngine On"...

Ciao,
Roman

KWA ·

Hallo,

danke für die schnelle Antwort. Allerdings funktioniert es leider auch nicht, wenn ich die Bedingungen direkt in die .htaccess schreibe. Der Fehler bleibt leider der gleiche.

Sobald in der ursrünglichen URL ein id=x auftaucht, wird statt der Umleitung, Error 404 angezeigt.

Gruß
Christian

rrudorfer ·

Hm, weiß dann leider auch nicht, woran das liegen könnt... Kann mit TYPO3 eigentlich nix zu tun haben, da ja die .htaccess schon vorher greift...

Sorry...

rrudorfer ·

Was steht denn in der Adress-Zeile im Browser für eine Adresse? Die alte oder die neue?

-- EDIT --

Da ich das Ganze selbst grade benötigt hab ist mir aufgefallen, dass ein / in der Condition fehlt... Es müsste so lauten:

RewriteCond %{REQUEST_URI} ^/index.php?inhalt=hund_katze_maus&id=1$ [NC]
RewriteRule ^.*$ "http\:\/\/www\.meine-domain\.de\/hund-katze-maus\/" [R=301,L]
 
RewriteCond %{REQUEST_URI} ^/index.php?inhalt=unterseite&id=1&uid=5$ [NC]
RewriteRule ^.*$ "http\:\/\/www\.meine-domain\.de\/unterseite/\/" [R=301,L]

Ich geh davon aus, dass dein 404 gekommen ist, weil die Condition gar nicht gegriffen hat... Und die alte URL eben nicht verfügbar ist...

KWA ·

Guten Morgen,

selbst mit dem zusätzlichen "/" in der Condition funktioniert es leider immer noch nicht.

In der Adresszeile des Browsers steht noch immer die alte URL, wenn die 404er Meldung kommt: "http://www.meine-domain.de/index.php?inhalt=hund_katze_maus&id=1"

Das Problem liegt also nicht in einem fehlerhaften Umleitungs-Ziel, sondern die Condition greift nicht.

Woran es allerdings liegt, keinen Schimmer. Dennoch danke für deine Tipps&Tricks. Bei anderen Projekten werde ich die mit Sicherheit gut gebrauchen können.