Zur Navigation

Redirect permanent funktioniert nicht

1 Silvi

Hallo,

ich hoffe ihr könnt mir hier weiter helfen bin mit meinem Latein an ende.

Folgendes möchte ich gerne machen.

Ich bin von der Shopsoftware Smartstore umgestiegen auf XT-Commerce. Der neue Shop wurde im gleichen Verzeichnis installiert in dem sich vorher die alte Shopsoftware befand. Es hat sich also an der Domain nichts verändert.

Google hat jedoch noch die alten Adressen verlinkt und ich dachte mir ich leite diese jetzt einfach mit .htaccess und Redirect permanent um. Tut aber leider nicht. Folgende Eintrag habe ich in der .htaccess:

Redirect permanent /pd-1060020.htm?categoryId=8 http://www.meine domain.de/index.php?cat=c18_bla-bla.html

Zwar kommt jetzt kein Error 404 mehr beim Aufruf der alten Seite, doch ich lande immer nur auf der Startseite des (XTcommerce)Shops und nicht in der entsprechenden Kategorie index.php?cat=c18_bla-bla.html
Komischerweise steht oben im Browser auch die alte Adresse also:
http://www.meine domain.de/pd-1060020.htm?categoryId=8

Irgendwie habe ich einen Denkfehler. Hat jemand einen Tip wie ich das hinbekommen kann. Würde gerne die teilweise ganz guten Plazierungen in Google nicht verlieren.

Danke für Tipps
Beste Grüße
Silvi

18.03.2008 22:14

2 Jörg Kruse

Hallo Silvi

Der Query String "categoryId=8" wird bei dieser Weiterleitung wohl ignoriert. Wenn du modrewrite zur Verfügung hast, kannst du es so versuchen:

RewriteEngine on
RewriteBase /

RewriteCond %{QUERY_STRING} categoryId=8
RewriteRule pd-1060020\.htm http://www.meine domain.de/index.php?cat=c18_bla-bla.html [R=301]

18.03.2008 22:48

3 Silvi

Hallo Jörg,
SUPER das funktioniert, ist zwar etwas umständlich so jetzt die ganzen URLs umzubiegen, aber Hauptsache es ist ein Weg.

Ich füge jetzt also für jede URL die ich umlenke diese beiden Zeilen mit den entsprechenden Pfaden ein oder?

Beste Grüße
Silvi

19.03.2008 08:01

4 Jörg Kruse

Hallo Silvi,

da es kein Entsprechungs-Muster zu geben scheint, müssen die URLs wohl einzeln weitergeleitet werden - du kannst dich ja auf die wichtigsten beschränken

Ich füge jetzt also für jede URL die ich umlenke diese beiden Zeilen mit den entsprechenden Pfaden ein oder?

Ja, jeweils eine RewriteCond und RewriteRule pro Weiterleitung

19.03.2008 10:26

5 Silvi

Hat alles super gut geklappt. Vielen Dank nochmal !!!!!

19.03.2008 11:06

6 Silvi

Hallo Jörg ich hätte da noch ein kleines Problem weil ich in einem Error 404 lande.

Und zwar hab ich mein Wordpress umgestellt vom Unterordner /wordpress in den Hauptordner.

In der .htaccess hab ich folgendes versucht:

Redirect 301 /wordpress/?cat=48 http://www.meine domain.de/?cat=48

Die Seite wird zwar aufgerufen aber Wordpress bringt nicht den Inhalt sondern Error 404.

Gibt es dazu auch ne Lösung ?

Beste Grüße
Silvi

26.03.2008 14:56

7 Jörg Kruse

Was für eine URL wird denn nach der Weiterleitung in der Adresszeile des Browsers angezeigt?

Ansonsten würde ich es ohne Query Strings versuchen, die sollten automatisch angehängt werden

Redirect 301 /wordpress/ http://www.meine-domain.de/

26.03.2008 15:07 | geändert: 26.03.2008 15:08

8 Silvi

im Br0wserfenster oben steht weiterhin der Pfad mit /wordpress/

Mit der anderen Umleitung wie Du es postest hab ich es schon versucht aber dann kommt ne komplette Apache Fehlermeldung von wegen ih bin ich einem Loop oder schleife.

Vielleicht hat mein Wordpress da ja auch noch was versemmelt es schreibt ja auch noch was in die .htaccess und zwar folgendes:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Ich dachte aber das hat nur damit was zu tun weil ich die links umgestellt hatte von ?cat8 usw auf Lesbare URLs....

Beim Aufruf der Dateien www.meinedomain.de/?cat=48
Wir auch richtig alles auf die neue Premalinkstruktur weiter geleitet also: www.meinedomain.de/lesbare_url/

Nur eben die Aufrufe die in Google noch gelistet sind mit /wordpress/ krieg ich nicht umgeleitet alles 404 Error...

Fehler von mir war wohl das ich eben nicht nur auf lesbare URLs umgestellt habe sondern gleich auch noch den Wordpress ordner gewechselt habe (also in Wordpress eingestellt das die index.php im hauptordner liegt)

Viele Grüße
Silvi

26.03.2008 15:20

9 Jörg Kruse

Mit der anderen Umleitung wie Du es postest hab ich es schon versucht aber dann kommt ne komplette Apache Fehlermeldung von wegen ih bin ich einem Loop oder schleife.

Dann ist da möglicherweise noch eine andere Weiterleitung oder RewriteRule mit der entgegengesetzten Wirkung aktiv. Für sich genommen erzeugt die von mir gepostete Weiterleitung keine Endlosschleife

Was passiert denn, wenn du "http://www.meine domain.de/?cat=48" direkt in die Adresszeile des Browsers eingibst?

Nur eben die Aufrufe die in Google noch gelistet sind mit /wordpress/ krieg ich nicht umgeleitet alles 404 Error...
Und wie sehen die URLs, die die 404er erzeugen, nun aus, d.h. was steht dann in der Adresszeile des Browsers?

Edit: ach du hattest das ganz oben schon geschrieben
im Br0wserfenster oben steht weiterhin der Pfad mit /wordpress/
Dann war die Weiterleitung überhaupt nicht wirksam. Korrekt funktionieren sollte sie auf die von mir beschriebene Weise. Nur stört da wohl noch eine andere entgegengesetzte Weiterleitung, die man noch ausfindig machen muss. Vielleicht postest du nochmal den kompletten Inhalt der .htaccess

Edit 2:
Befindet sich Wordpress denn noch immer im Unterordner und wird nur auf diesen rewritet? Das könnte dann nämlich die Endlosschleife erzeugen

26.03.2008 15:43 | geändert: 26.03.2008 15:51

10 Silvi

Hallo Jörg,

erst einmal danke für Deine Geduld !!!
Ich hoffe ich kann es Dir jetzt richtig erklären...vielleicht noch vorab wie das ganze Kuddelmuddel entstand.

Ich habe alte statische Webseiten umgestellt auf Wordpress.
Installiert habe ich WP in einem Unterordner der Domain:
www.meinedomein.de/wordpress/ anfang noch mit diesen unleserlichen URLs also ?cat=8 usw..., da Suchmaschinen diese URLs ja nicht so mögen hab ich Wordpress umgestellt auf leserliche Domains (Geht in WP ja ganz einfach, und eine Mod Rewrite die angelegt wird routet auch auf die richtige Adresse)
Aus www.meinedomain.de/wordpress/?cat=8 wurde also www.meinedomain.de/wordpress/leserlicher_titeltest/
Egal was man aufgerufen hat WP landete beim richtigen Beitrag.
Bis dahin alles noch okay.
Dann störte mich aber das /wordpress/ im Pfad dort lag ja auch die index.php und nicht m Hauptpfad. Auch hier kann man WP sagen das die Installation zwar weiterhin in /wordpress/ liegt die index.php kann man aber in den Hauptordner verschieben. Man muss nur einen Eintrag in der Config ändern. Ich hab jetzt quasi die index.php sowohl im Hauptordner liegen als auch im /wordpress/ Ordner.
Folgendes klappt auch jetzt noch einwandfrei:

www.meinedomain.de/index.php
www.meinedomain.de/
www.meinedomain.de/wordpress/index.php
Alles führt zur startseite !!!
Dieser Aufruf:
www.meinedomain.de/wordpress/
erzeugt einen 404er Fehler in WP
Ich kann Dir ja mal per Privat Nachricht die richtige Domain schicken???




Zitat von Silvi
Mit der anderen Umleitung wie Du es postest hab ich es schon versucht aber dann kommt ne komplette Apache Fehlermeldung von wegen ih bin ich einem Loop oder schleife.

Zitat von Jörg
Dann ist da möglicherweise noch eine andere Weiterleitung oder RewriteRule mit der entgegengesetzten Wirkung aktiv. Für sich genommen erzeugt die von mir gepostete Weiterleitung keine Endlosschleife

Genau das muss die sein von Wordpress die ich oben postete mit dem Mod Rewrite

Zitat von Jörg
Was passiert denn, wenn du "http://www.meine domain.de/?cat=48" direkt in die Adresszeile des Browsers eingibst?

Dann lande ich genau da wo ich hin will.


Zitat von Silvi
im Br0wserfenster oben steht weiterhin der Pfad mit /wordpress/

Zitat von Jörg
Dann war die Weiterleitung überhaupt nicht wirksam. Korrekt funktionieren sollte sie auf die von mir beschriebene Weise. Nur stört da wohl noch eine andere entgegengesetzte Weiterleitung, die man noch ausfindig machen muss. Vielleicht postest du nochmal den kompletten Inhalt der .htaccess

Ja okay im Moment sieht die .htaccess so aus:

Order allow,deny
Allow from all
Deny from env=spammer

SetEnvIfNoCase Referer casino spammer=yes
SetEnvIfNoCase Referer viagra spammer=yes
SetEnvIfNoCase Referer poker spammer=yes


# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Redirect permanent /1.htm http://www.meinedomain.de/category/blabla/blabla/

Naja und noch etliche dieser Redirect Zeilen mit denen ich die alten statischen Seiten alle einzeln umleite in die richtige Wordpress Kategorie. Das wars.


Zitat von Jörg

Edit 2:
Befindet sich Wordpress denn noch immer im Unterordner und wird nur auf diesen rewritet? Das könnte dann nämlich die Endlosschleife erzeugen

Genauso ist es, ich habe lediglich die index.php in den Hauptordner verschoben und nach Anleitung (http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory ) Wordpress in der Config so umgestellt das die eigenlichen php Dateien immer noch im Ordner Wordpress liegen.

Hmmm ob Du daraus jetzt schlau wirst :-) Ich hoffe es

Beste Grüße
Silvi

26.03.2008 18:17