Zum Inhalt springen

xt:Commerce – AcceptPath – die Letzte…

Die ab V3 in xt:Commerce integrierten Suchmaschinenfreundlichen URLs setzen einen Webserver mit installiertem AcceptPath voraus.

Viele Hoster u.a. 1und1 stellen AcceptPath nicht zur Verfügung (und ja(!) AcceptPath läuft auch mit 1.3x Apache – um der Hotline-Lüge gleich entgegenzuwirken es sei nur auf Apache 2 verfügbar).

Wer die von shopstat per mod_rewrite umgegenen URLs nicht einsetzen will findet hier eine Bauanleitung, wie xt:Commerce bzw. die äquivalente Contribution für OSCommerce auf AcceptPath freien Servern zum laufen bekommen ist.

http://www.xt-commerce.com/modules/ipboard/index.php?showtopic=14952

Coden werde ich die Änderung nicht, da meine Server nur AcceptPath bereitstellen. Wers unbedingt haben will kann es sich bei mir gegen Honorar coden lassen. Bei Interesse Mail an info # php-boutique.de

©copyrighted material – Alle Rechte an Text und Bild vorbehalten. Die Kopie, Reproduktion oder Modifikation ohne schriftliche Genehmigung von PHP-BOUTIQUE.de EDG. GmbH Dresden ist untersagt und wird juristisch verfolgt. No Trackbacks pls.

Ein Gedanke zu „xt:Commerce – AcceptPath – die Letzte…“

  1. Für nicht – Sponsoren, hier eine Kopie des Threads:

    das kann nicht funktionieren, solange du nicht die appli_top umbaust. die lässt sich auch ohne dr.web auf acceptpath-frei umbauen.

    also erstmal alles zurückbauen, was du bisher geändert hast, die .htaccess lässt du stehen.

    QUOTE

    [REQUEST_URI] => /acceptpath.php/hallo
    [SCRIPT_NAME] => /acceptpath.php
    [PATH_INFO] => /hallo

    die appli-top liest die geschichte hier aus…

    CODE

    // set the HTTP GET parameters manually if search_engine_friendly_urls is enabled
    if (SEARCH_ENGINE_FRIENDLY_URLS == ‚true‘) {
    if (strlen(getenv(‚PATH_INFO‘)) > 1) {
    $GET_array = array();
    $PHP_SELF = str_replace(getenv(‚PATH_INFO‘), “, $PHP_SELF);
    $vars = explode(‚/‘, substr(getenv(‚PATH_INFO‘), 1));
    for ($i=0, $n=sizeof($vars); $i<$n; $i++) {
    if (strpos($vars[$i], ‚[]‘)) {
    $GET_array[substr($vars[$i], 0, -2)][] = $vars[$i+1];
    } else {
    $_GET[$vars[$i]] = $vars[$i+1];
    }
    $i++;
    }

    if (sizeof($GET_array) > 0) {
    while (list($key, $value) = each($GET_array)) {
    $_GET[$key] = $value;
    }
    }
    }
    }

    entscheidend hierbei: getenv(‚PATH_INFO‘) – genau diese environment variable steht nur zur verfügung, wenn acceptpath läuft.

    aus eingangs genannten parms kannst du aber die sache sehr leicht patchen…

    CODE

    $_path_info = str_replace($_SYSTEM[‚SCRIPT_NAME‘],““,$_SYSTEM[‚REQUEST_URI‘]);
    putenv(„PATH_INFO=$_path_info“);

    gib info ob das läuft…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.