Mailinglisten-Archive |
Hallo,
ich habe hier den Apache 1.3.12 mit PHP 4.0.1pl2 auf Windows 2000.
Ich wollte heute mal, nach der Lektüre des entsprechenden Kapitels im Buch
von T&T, mit mod_rewrite rumspielen, bis jetzt ohne Erfolg.
Folgende Situation:
1.) VirtualHost "test"
2.) Folgende Settings sowohl in einem .htaccess im / von http://test/
als auch im <VirtualHost>...</VirtualHost> Block für test in der
httpd.conf ausprobiert:
RewriteEngine On
RewriteBase /
RewriteRule ^[0-9a-z]{32}/(.+) /$1
3.) Folgende Funktion wird in http://test/index.php aufgerufen:
function session_start_from_rewrite()
{
global $HTTP_HOST, $REQUEST_URI;
ereg("/([0-9a-z]{32})", $REQUEST_URI, $regs);
$session_id = $regs[1];
if(!isset($session_id) || empty($session_id))
{
srand((double)microtime()*1000000);
$session_id = md5(uniqid(rand()));
$destination = "http://$HTTP_HOST/$session_id$REQUEST_URI";
header("Location: $destination");
}
session_id($session_id);
session_start();
}
Wenn ich nun http://test/index.php lade, so erfolgt der Re-Direct auf
http://test/sesionid/index.php
zwar korrekt, aber ich bekomme für diese URL einen Error 404, da der
Apache offensichtlich versucht die Datei index.php im nicht existenten
Verzeichnis /sessionid/ zu öffnen.
Nach soviel Vorrede nun endlich meine Frage: Funktioniert mod_rewrite auf
Win32 nicht (korrekt)?
Oder stimmt was anderes mit meiner Umsetzung nicht?
Ich hatte leider noch keine Möglichkeit das ganze auf einer LAMPe zu
testen.
AHA,
Sebastian
--
<?php $a=explode(" " ,"119 130 128 129 45 110 123 124 129 117 114 127 45 ".
"125 117 125 45 117 110 112 120 114 127");for($i=0;$i<sizeof($a);$i++)print
chr($a[$i]-13);// http://gravedancer.rc5.de/ | sebastian.bergmann_(at)_web.de ?>
php::bar PHP Wiki - Listenarchive