v2.0.x Redirects auf Produktseiten beim Verwenden von nginx/php-fcgi als Webserver

Thema wurde von Bruno M, 8. November 2013 erstellt.

  1. Bruno M
    Bruno M Mitglied
    Registriert seit:
    3. März 2012
    Beiträge:
    19
    Danke erhalten:
    7
    Danke vergeben:
    4
    Hi, in /includes/application_top.php (~ ab Zeile 670) werden mehrere Variablen abgefragt um einen Wert für $gm_redirected_url zu bekommen.
    nginx setzt den parameter REDIRECT_URL leider nicht, was dazu führt, dass Produktseiten bei jedem Aufruf auf die gleiche Seite redirected wird. Beim ersten Aufruf der Seite wird die session Variable "last_redirect_url" gesetzt und beim zweiten Aufruf wird ein Eintrag in den redirect_loops Log gemacht.

    Als Abhilfe kann man in der nginx Konfiguration den REDIRECT_URL Parameter so zu setzen:
    Code:
     fastcgi_param               REDIRECT_URL    $request_uri;
    Evtl hilfts jemand... zwinker zum print-weilburg hier im Forum ;)

    Apache schreibt in REDIRECT_URL zwar einen anderen Wert/anderes Format als nginx in $request_uri schreibt, trotzdem funktioniert es auf den ersten Blick tadellos...
    Programmiertechnisch ist das nicht die korrekte Lösung, das darf aber das Gambio Team machen.
     
  2. Bruno M
    Bruno M Mitglied
    Registriert seit:
    3. März 2012
    Beiträge:
    19
    Danke erhalten:
    7
    Danke vergeben:
    4
    PHP:
            elseif($gmSEOBoost->boost_products
                        
    && !empty($_GET['gm_boosted_product'])
                        &&
                            (
    strpos($gm_redirected_urlDIR_WS_CATALOG $gmSEOBoost->get_boosted_product_url($gmSEOBoost->get_products_id_by_boost($_GET['gm_boosted_product']), $_GET['gm_boosted_product'])) === false
                         
    || strpos($gm_redirected_urlDIR_WS_CATALOG $gmSEOBoost->get_boosted_product_url($gmSEOBoost->get_products_id_by_boost($_GET['gm_boosted_product']), $_GET['gm_boosted_product'])) !== 0
                            
    )
                        && 
    strpos($PHP_SELF'/product_info.php') !== false)
            {
    Das ist die Condition die das System redirecten lässt...