Neu umstieg von oscommerce zu shop4 - domain weiterleitungen

cakeman

Gut bekanntes Mitglied
24. Mai 2007
105
8
Hallo,

ich bin gerade dabei einen alten oscommerce shop durch einen JTL shop4 zu ersetzen.
Natürlich möchte ich gerne alle Verlinkungen für alle Kategorien und Produkte entsprechend mit Weiterleitungen versehen, damit keine alte domain ins leere läuft.

Dafür gibt es auch eine Anleitung bei guide.jtl-software.de

Zitat:
XTC/OSC
Die Artikel-URLs sind standardmäßig im XTC/OSC wie folgt aufgebaut:
Shop-URL/product_info.php?product_id=111


ABER:
Leider gibt es da ein Problem mit der Anleitung:
jedes der Produkte im alten oscommerce hat halt eine eigene "?product_id=xyz"

Da aber bei einem JTL shop alles hinter dem "?" als GET parameter abgeschnitten wird funktioniert dadurch keine der Weiterleitungen.

Hat da vielleicht jemand einen Rat?

Kann man den JTL shop dazu bringen die "product_info.php?" nicht als GET parameter zu nehmen?
oder kann man in der .htaccess dafür sorgen dass die Seiten mit product_info.php? irgendwie umgeschrieben werden so dass man die Umleitung zum Laufen bekommen kann?

Gruß
felix
 

Andreas Grambow

Sehr aktives Mitglied
5. August 2006
4.489
15
Dahlenburg / bei Lüneburg
Am einfachsten wäre es, sofern die Daten vorhanden sind, die Daten einmal mit URL aus dem XTC zu exportieren und dass Ganze nach der Umstellung nochmal aus der Wawi mit den URLS und dann daraus über sverweis bzw. besser index/vergleich einen Weiterleitungsdatei für den Shop zu generieren.

Bedingung sind identische Artikelnummern
 

cakeman

Gut bekanntes Mitglied
24. Mai 2007
105
8
Hallo Andreas,

ja das Erzeugen der URLs ist kein Problem - auf der wiki Seite von JTL gibt es sogar ein db-Skript mit dem man aus dem oscommerce shop alle alten URLs exportiert und sofort eine CSV für den Import bei JTL erzeugen kann.
Das Problem ist dass man die weiterleitenden im JTL-Shop nicht einrichten kann.

in oscommerce und XTCommerce sehen die URLs für Artikel so aus:
Shop-URL/product_info.php?product_id=111

-> eine Weiterleitung kann ich für diesen Artikel im JTL-Shhop nicht einreichten weil der JTL-Shop das "?" für den GET Parameter weg nimmt.
-> die Weiterleiten Funktion im Backend erkennt also nur: "Shop-URL/product_info.php"

da ist mein Problem

Gruß

felix
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.648
2.700
Berlin
Firma
css-umsetzung
Du könntest, theoretisch, diese links, in der htaccess, vorab über ein extra script laufen lassen, welches dann anhand der id, einen 301er auf die neue url macht.
 

Xantiva

Sehr aktives Mitglied
28. August 2016
1.795
316
Düsseldorf
Um wie viele Produkte geht es Dir denn? Für eine Weiterleitung per PHP-Script zu schreiben, müsstest Du zumindest alle alten und neuen URLs sowie ein passendes Schlüsselfeld (Artikelnummer) aus den unterschiedlichen Datenbanken ziehen.

Dann würde ich eine eigene product_info.php schreiben, die genau den GET-Parameter auswertet und dann entsprechend per 301 weiterleitet ...
 

cakeman

Gut bekanntes Mitglied
24. Mai 2007
105
8
Es geht um ca. 1700 Produkte
ich habe die schon aus der alten oscommerce db gezogen, damit lässt sich eine csv für den input in den JTL shop erzeugen.
danach hat man die alten und die neuen URLs schon in der neuen db...
Würde also wahrscheinlich gehen, nur kann ich leider überhaupt nicht php programmieren...
 

Andreas Grambow

Sehr aktives Mitglied
5. August 2006
4.489
15
Dahlenburg / bei Lüneburg
du kannst im Admin im Shop unter
admin/globale Einstellungen/Weiterleitungen
deine Weiterleitungen importieren und schon ist alles gut. Der shop kann das.
Einfach eine csv erstellen mit 2 Spalten

alte URL | neue URL

jeweils ohne deinshop.de davor in die csv packen und ab dafür.

Vieles geht relativ einfach.
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.648
2.700
Berlin
Firma
css-umsetzung
Würde ich bei der Menge nicht machen, ich hätte immer panik das die Menge die Performance beeinträchtigen würde.
 

Andreas Grambow

Sehr aktives Mitglied
5. August 2006
4.489
15
Dahlenburg / bei Lüneburg
ich kenne shop mit über 20000 Weiterleitungen ohne Probleme, denn jeder neue Namen in der Wawi verursacht eine Weiterleitung da wenn keine explizite eigene SEO Url beim Artikel vergeben ist, ändert sich diese eben auch.
 

cakeman

Gut bekanntes Mitglied
24. Mai 2007
105
8
du kannst im Admin im Shop unter
admin/globale Einstellungen/Weiterleitungen
deine Weiterleitungen importieren und schon ist alles gut. Der shop kann das.
Einfach eine csv erstellen mit 2 Spalten

alte URL | neue URL

jeweils ohne deinshop.de davor in die csv packen und ab dafür.

Vieles geht relativ einfach.

Hi Andreas - das geht eben leider genau nicht, und ist auch der Grund für diesen threat
Das steht zwar so auf der Wiki Seite von JTL geht aber eben nicht.
Denn der Aufbau der domains im alten shop mit "?product_id=111" führt dazu, dass die Weiterleitungen von JTL nicht funktionieren

Gruß
Felix
 

Xantiva

Sehr aktives Mitglied
28. August 2016
1.795
316
Düsseldorf
Nicht in den JTL-Shop importieren! Das bringt nichts ...

Bekommst Du die nach Excel?
alte URL;neue URL

Wobei es reichen würde, wenn Du die neue URL der alten products_id kennst. Die könnte man dann in ein PHP - Array packen und entsprechend umleiten.
 

Xantiva

Sehr aktives Mitglied
28. August 2016
1.795
316
Düsseldorf
Ohne Gewähr 😉

Die legst Du im neuen Shop als product_info.php ab.
PHP:
<?php

// Hier bitte Deine Shop Domain angeben
$domain = "http://www.example.com";

function getNewUrls()
{
    return array(
    // hier kommen nun die 1.700 Einträge, per Excel-"Programmierung" rein ...
        1 => '/newurl-1',
        2 => '/newurl-2',
        3 => '/newurl-3',
    // ... bis hier hin.
    );
}

$newUrl = "/";

if (isset($_GET['product_id'])) {
    $newUrls = getNewURls();
    $pId = (int) $_GET['product_id'];

    if (isset($newUrls[$pId])) {
        $newUrl = $newUrls[$pId];
    }
}

$redirectUrl = $domain . $newUrl;

header('HTTP/1.1 301 Moved Permanently');
header("Location: " . $redirectUrl);

Und mit Excel (VERKETTEN Funktion) erzeugst Du die Zeilen für das Array ...

=VERKETTEN(A2;" => '";B2;"',")

upload_2017-1-15_1-11-40.png
 
  • Gefällt mir
Reaktionen: cakeman

Ähnliche Themen