Seite 1 von 1
[solved]Rewrite Frage
Verfasst: 26.05.2011, 07:34
von conny2540
Hallo,
Ich habe da mal eine Frage, weil ich das mit der .htaccess selbst nicht hinbekommen habe.
Ich habe folgende Situation:
alte URL: meinshop.com/Hundeshop
Neue URL: meinshop.com/9-hundeshop
Wie kann ich das in der .htaccess umschreiben ? Ich habe es damit probiert:
Code: Alles auswählen
RewriteCond %{REQUEST_URI} !^/Hundeshop
RewriteRule ^(.*) /9-hundeshop=$1 [R=301,L]
funktioniert leider nicht. Ich lande auf einer Fehlerseite, bzw. 403. Ich hätte da mehrere Seite zum umschreiben, bzw. alle 200 Kategorien, die auf Grund einer andere Software jetzt ID's davor tragen. Bitte aber nicht diskutieren, ob das Sinn macht oder nicht. Es ist vollzogen und ich muss die alten in die neue MIT ID umschreiben.
Danke
Conny
Verfasst: 26.05.2011, 10:14
von Hirnhamster
Redirect permanent meinshop.com/Hundeshop meinshop.com/9-hundeshop
Verfasst: 26.05.2011, 10:25
von kalonis
hm, ich verstehe nicht ganz, wie auf deinen Code gekommen bist. Der macht auf keinen Fall, was du willst. Die URL meinshop.com/Hundeshop fasst er gar nicht an, weil du ihm ja in der Rewrite-Condition mitteilst, dass er nur für URIs gilt, die nicht mit /Hundeshop anfangen.
Probiere es mal hiermit:
Code: Alles auswählen
RewriteRule ^/Hundeshop(.*)$ /9-hundeshop$1 [r=301,l]
Das müsstest du dann halt entsprechend für alle 200 Kategorien anlegen. Wenn sich an den Kategorien von Zeit zu Zeit etwas ändert, würde ich aber eher überlegen, das aus der .htaccess raus zu nehmen und die Umleitung irgendwie in deinem CMS per Programmlogik zu realisieren. Da bist du auf jeden Fall flexibler.
Verfasst: 27.05.2011, 16:50
von conny2540
Danke Kalonis. Funktioniert perfekt. Ja ich werde dann meine kategorien so umschreiben. Die ändern sich auch nicht. Ist ja Grundgerüst....
LG
Conny
Verfasst: 01.08.2011, 05:19
von conny2540
Habe leider ein Problem mit dem code. Sobald ich eine zweite Zeile einfüge liefert mir der Server eine 500er Seite.
Code: Alles auswählen
RewriteRule ^/Terraristikshop(.*)$ /1244-terraristik-terrarium$1 [r=301,l]
RewriteRule ^/Aquarium-Deko(.*)$ /1472-Aquarium-Deko$1 [r=301,l]
RewriteRule ^/Katzennetz(.*)$ /1531-Katzennetz$1 [r=301,l]
Muss ich da in der Vorzeile irgendwas ändern ?
Verfasst: 01.08.2011, 08:04
von conny2540
conny2540 hat geschrieben:Habe leider ein Problem mit dem code. Sobald ich eine zweite Zeile einfüge liefert mir der Server eine 500er Seite.
Code: Alles auswählen
RewriteRule ^/Terraristikshop(.*)$ /1244-terraristik-terrarium$1 [r=301,l]
RewriteRule ^/Aquarium-Deko(.*)$ /1472-Aquarium-Deko$1 [r=301,l]
RewriteRule ^/Katzennetz(.*)$ /1531-Katzennetz$1 [r=301,l]
Muss ich da in der Vorzeile irgendwas ändern ?
Da ich das nicht schaffe so, gibt es eine Möglichkeit pauschal alle nicht gefundenen links auf die index.php weiterzuleiten ? ich habe schon das hier probiert:
Code: Alles auswählen
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/([^/]+)$
RewriteRule !\. /index.php [L]
und auch das
Code: Alles auswählen
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Problem ist, dass man dann meine eigenen Kategoiren/Unterkategorien nicht mehr aufrufen kann, man landet immer in der index.php. Wenn ich nur dieses Fachchinesisch einmal verstehen würde.... Ein Script zu lesen fällt mir leichter...
Verfasst: 03.08.2011, 07:59
von conny2540
Hat sich erledigt. War eine Feinheit in der web.config auf meinem IIS. Ich habe die Postionen innerhalb der web.config geändert und plötzlich funktionieren die Weiterleitungen wieder....
Der IIS ist schon ein heikles Ding...