Jump to content
xt:Commerce Community Forum

|bug|suchmaschinenfreundliche Urls Benutzen?


Disaster

Recommended Posts

Hallo zusammen,

ich musste heute schmerzlich festellen, wenn ich besagte

option auf "true" stelle funktioniert

nichts mehr, alle links sind nicht mehr verf?gbar!

Kein Admin login mehr m?glich, folglich auch nicht mehr

zu ?ndern.

Wer gleichs Problem hat,

im mysql-admin:

configuration

SEARCH_ENGINE_FRIENDLY_URLS ---> False

Dann sollte alles laufen.

Stefan

Link to comment
Share on other sites

wenn du eine datei test.php mit folgenden inhalt erstellst



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;

    }

   }

  }



echo '<pre>';

print_r ($_GET);

echo '</pre>';

und dann mit test.php/aa/bb/xx/dd aufrustst sollte das als ergebniss kommen,

Array

(

[aa] => bb

[xx] => dd

)

je nach server umgebung kann diese funktion aber angepasst werden.

zb aus

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));

wird

if (strlen($PATH_INFO) > 1) {

$PHP_SELF = str_replace($PATH_INFO,'',$PHP_SELF);

$vars = explode('/', substr($PATH_INFO, 1));

oder

$PHP_SELF = str_replace($PATH_INFO,'',$_SERVER["REQUEST_URI"]);

das liegt an einem bug in manchen php versionen da die $_SERVER["PHP_SELF"] oft unterschiedlich sind. (test.php/aa/bb/xx/dd) sollte die variable beinhalten nach aufruf.

m?gliche kandidaten bei verschiedenen servern:

$REQUEST_URI

$SCRIPT_NAME

$PATH_INFO

$PHP_SELF

$_SERVER["REQUEST_URI"]

$_SERVER["SCRIPT_NAME"]

$_SERVER["PATH_INFO"]

andere m?glichkeit das kanze im htaccess zu setzen

AcceptPathInfo On

(sofern man apache2 hat)

oder ander m?glichkeit. mod_rewrite daf?r zu konfigurieren

http://httpd.apache.org/docs/mod/mod_rewrite.html

man kann nicht f?r alle einstellungen die der user macht eine sicherheitsfunktion implentieren :)

Link to comment
Share on other sites

  • 2 months later...

Hallo,

vieleicht kann jemand schreiben was in der .htaccess stehen muss wenn man "mod_rewrite" benutzt.

Die zweite Frage w?hre ob es nur die .htaccess im Haupverzeichnis betrift oder ob man in mehreren Verzeichnissen die .htaccess ?nder muss.

Um eine ausf?hrliche Antwort w?hre ich dankbar.

Mickes

Link to comment
Share on other sites

Guest HHGAG

Die Links werden richtig erstellt => keine Bugs bei der Erstellung

Ein Bug ist trotzdem drin, wenn man als Admin eingeloggt ist (mit SUMA freundliche URL'S) und benutzt die Links f?r Bestellstatus, dann hat man eine Admin Seite ohne Bilder (ADMIN BEREICH HAT KEINE UNTERST?ZUNG F?R SUMA freundliche Links) etc....

Wenn man f?r die Admin Box aus der xtc_href_link.inc.php SEARCH_ENGINES_FRIENDLY_URLS auskommentiert funktioniert alles.

Habe es zwar gel?st nur halt unkonventionel, da meine Programmierkenntnisse f?r PHP nicht ausreicht.

Wenn mir irgendjemand den Folgenden if-Befehl zusammenstricken k?nnte, k?nnte man diesen Bug fixen.

Wenn aufrufende Datei = admin.php

dann schicke link zur?ck

sonst....

Link to comment
Share on other sites

bzw, sollte auch funktioniern wenn du in der admin box, vor den links ein

define('SEARCH_ENGINES_FRIENDLY_URLS',false);

und ein

define('SEARCH_ENGINES_FRIENDLY_URLS',true);

danach

setzt

*edit,

ok das funktiniert nich, constanten kann man ja nicht ?ebrschreiben ^^

da m?ssen wir ne extra link funktion einbauen. bitte bugtracker

Link to comment
Share on other sites

Guest HHGAG

Extra Funktion habe ich geschrieben (mit copy und paste).

Habe in der Funktion SEARCH_ENGINE_FRIENDLY_URLS weggelassen.

Habe es gerade an Dich geschickt per Mail.

Link to comment
Share on other sites

  • 3 weeks later...

Originally posted by mzanier@Feb 1 2004, 23:25 PM

wenn du eine datei test.php mit folgenden inhalt erstellst



[weggelassen]

und dann mit test.php/aa/bb/xx/dd aufrustst sollte das als ergebniss kommen,

Array

(

[aa] => bb

[xx] => dd

)

Hallo mzanier,

das Ergebnis deines Scriptes sieht bei mir so aus:

Array

(

[test.php] => aa

[bb] => xx

[dd] =>

)

Ist das so okay? Oder m?sste da noch etwas angepasst werden?

Wenn ja, wie/wo?

Vielen Dank f?r die Hilfe.

Gru?

geemko

Link to comment
Share on other sites

  • 1 year later...
  • 2 weeks later...
  • 4 months later...

da ich den Code heute erst fertig bekommen habe

werde ich das ganze noch etwas testen.

aber unter www.barcode-world.de

kann man sehen das es ganz gut funktioniert

wenn jemand fehler feststellt gerne melden

da die Links aber nur an einer Stelle in xtCommerce umgebogen

werden und auch nur die f?r Produkte, Kategorien und Hersteller

sollte alles andere wie gewohnt laufen.

Link to comment
Share on other sites

Originally posted by sff@Apr 12 2006, 05:27 PM

?hm... das ist doch v3.0.4SP1... wo ist jetzt der genaue Unterschied zu den "normalen" Suma-Links?

Oder handelt es sich nur um ein Bugfix f?r Server, die AcceptPathInfo nicht unterst?tzen?

Quoted post

Link to comment
Share on other sites

janein

die xtCommerce Links sehen so aus

www.meinshop.de/product_info.php?cat=c32_Produkt-XY.html&ggf=weitere_optionen

die Suchmaschinen freundlichen Link in etwa so

www.meinshop.de/product_info.php/cat/32/...

meine Links sehen jetzt aus wie 100% Statische Links

wie z.B.

http://www.barcode-world.de/s1_liefer--und...sandkosten.html

http://www.barcode-world.de/c1_barcode-scanner.html

http://www.barcode-world.de/p1_barcodelese...yphon-d100.html

es ist in xtCommerce bereits viel f?r die Simuliertenlinks vorbereitet

und warum alles um Coden wenn die Ans?tzte bereits vorhamden sind.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...