Seite 1 von 1

mod rewrite?

Verfasst: 16.11.2006, 10:46
von Thor
Hallo,

habe leider ein dummes Problem:
Einige Preissuchmaschinen haben an meine Shop-URL ein "/language/de533" angehängt. Die Zahl dahinter ändert sich dabei immer. Die Seiten sind mit dem anhängsel immer erreichbar. Der Googlebot spidert sich zu tote.

Wie kann ich ihn wieder auf den richtigen Pfad führen? per 301?

z.B. shop/conditions.php/language/de344 --> shop/conditions.php

Wer kann helfen?

Verfasst:
von

Verfasst: 16.11.2006, 12:34
von Monk
Wenn das isolierte PHP-Seiten betrifft und das Schema immer so ist wie beschrieben, würde ich das im Zweifelsfall auch dort machen. Ggf. per Include, wenn mehrere Scripte betroffen sind. Schema:

if (!empty($_SERVER['PATH_INFO'])) {
header('HTTP/1.0 301 Moved Permanently');
header('Location: ' . $MYPROTOHOSTANDPORT . $_SERVER['SCRIPT_NAME']);
exit;
}

Je nach Details des Falls auch kein Redirect, sondern 404 oder wasimmer. Bei komplexeren Schemata dann entsprechend aufgebohrt. $MYPROTOHOSTANDPORT wie der Name sagt, entweder statisch definiert oder entsprechend gebaut, wenn nötig.

Ist aber Geschmackssache und nicht immer angemessen. Ich kenne halt Deine Umgebung nicht und bin allgemein eher ein Freund von isolierten Massnahmen als einer, der gerne alles durch rewrites genudelt oder überall .htaccess rumliegen haben möchte.

Verfasst: 16.11.2006, 14:30
von Thor
erstmal danke für deine Hilfe :)
ist aber leider für mich schon zu kompliziert und arbeitsaufwendig, da es ein OSC-Shop ist.
Mit wäre ein .htaccess genudel lieber, da das Problem wohl nur temporär besteht. Die fehlerhaften links werden vermutlich in ein paar Wochen verschwinden, und somit auch das mod rewrite genudel.

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

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 16.11.2006, 16:06
von twitch
versuch das mal :

# Alle alten Seiten direkt zur gewünschten Seite leiten
RewriteRule ^shop/conditions.php/language/de344 shop/conditions.php [L,R=301]

oder
RewriteRule ^shop/conditions.php/language/de344 https://www.domain.de/shop/conditions.php [L,R=301]

Verfasst: 16.11.2006, 16:21
von Thor
das schaut besser aus...nur ist die Zahl (344) variabel, es könnte auch die 54 sein, z.B. shop/conditions.php/language/de54

Verfasst: 16.11.2006, 17:03
von Monk
Lass die Zahl oben weg, also

RewriteRule ^shop/conditions.php/language/de https://www.domain.de/shop/conditions.php [L,R=301]

Der Ausdruck matcht von links und ist rechts offen, das passt dann.

Verfasst: 16.11.2006, 17:37
von Thor
perfekt, funktioniert für die statischen Seiten :D

wie sieht es aber hiermit aus?
/shop/product_info.php/products_id/49/language/de123 --> /shop/product_info.php/products_id/49

die "49" ist variabel und besteht nur aus Zahlen.

Verfasst: 16.11.2006, 18:25
von Monk
Hab ich doch geahnt, dass das Schema komplexer ist :)

Für die angegebene URL nimm

^shop/product_info.php/products_id/([^/]+)/language/de https://www.domain.de/shop/product_info ... ucts_id/$1 [L,R=301]

Im allgemeinen Fall probier mal

^(.+)/language/de[0-9]+$ https://www.domain.de/$1 [L,R=301]

Verfasst: 16.11.2006, 18:59
von Thor
danke dir Monk, funktioniert tadellos. :P
Sowas ([^/]+) wird mir immer ein Rätsel bleiben. :o

Verfasst: 20.11.2006, 22:07
von twitch
und wer dankt mir?
Immerhin habe ich die zündende Idee geliefert :-)...LOL
Gute Nacht

Verfasst: 21.11.2006, 08:16
von Thor
auch dir ein herzliches dankeschöööön... :lol:

Verfasst: 21.11.2006, 08:56
von stp69
@ thor
Das sind doch URL vom OSCommerce Shop oder? Da gibt es doch Erweiterungen ohne ende die Dir das abnehmen.. oder irre ich mich da jetzt?

Verfasst: 21.11.2006, 09:15
von Thor
ist ein OSC-Shop. Hier mehr zu dem Problem https://www.abakus-internet-marketing.d ... 30130.html