|
Titel: Fehler in aktueller mx-mod_rewrite ? Beitrag von: m-t am 06 März 2010, 03:00:00 Hab da grad auf einer Seite Probleme mit folgendem Code:
Code: [Select] <?php $qrcode= 'http://' . $HTTP_HOST . $REQUEST_URI; echo "<img src='http://chart.apis.google.com/chart?cht=qr&chs=200x200&choe=ISO-8859-1&chl=$qrcode'>"; ?> Ich hab das auf einigen Seiten im Einsatz, bei der neuesten (mit PragmaMx 0.1.11) wird mir aber immer ein kleiner Fehler angezeigt: Der Code oben erzeugt eine kleine Grafik mit einem QR-Code (http://de.wikipedia.org/wiki/QR-Code) der aktuellen Seite. Jedesmal beim Einsatz von $REQUEST_URI oder $_SERVER['SCRIPT_FILENAME'] wird aber ein doppelter Slash nach der tld angezeigt. also: domain.de//modules.php?name=Test Der Fehler steckt in der includes/mx_modrewrite: Und zwar ganz unten: Code: [Select] $_SERVER['QUERY_STRING'] = $querystring; $_SERVER['SCRIPT_FILENAME'] = dirname($_SERVER['SCRIPT_FILENAME']) . '/modules.php'; $_SERVER['PHP_SELF'] = dirname($_SERVER['PHP_SELF']) . '/modules.php'; $_SERVER['SCRIPT_NAME'] = $_SERVER['PHP_SELF']; if (isset($PHP_SELF)) { $PHP_SELF = $_SERVER['PHP_SELF']; } $_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF'] . '?' . $querystring; } in einer älteren version der datei sind 2 zeilen anders: Code: [Select] $_SERVER["PHP_SELF"] = rtrim(dirname($_SERVER["PHP_SELF"]), '/') . '/modules.php'; und: Code: [Select] $_SERVER['SCRIPT_FILENAME'] = rtrim(dirname($_SERVER['SCRIPT_FILENAME']), '/') . '/modules.php'; mit dieser "älteren" Version funktioniert es teilweise. D.h. der doppelte Slash ist zwar weg, die korrekte "Anzeige" der URL aber leider auch. domain.de/modules.php?name=Test Also nochmal zusammengefasst: PragmaMx läuft und die vorhandenen Module werden richtig umschrieben. Was nicht geht ist der Einsatz von $REQUEST_URI oder $_SERVER['SCRIPT_FILENAME'] in eigenen Modulen. |