gnark hat geschrieben:Hi, ich hab diese rule hier:
RewriteRule ^([^/\.]+)/?$ index.php?url=$1 [L]
die müsste doch eigentlich alles, auch "/" weiterleiten und als $url übergeben?
Funktioniert aber nur, wenn kein "/" drin ist, dann versucht der Apache scheinbar in dem Ordner zu suchen.
Weiss einer was falsch ist, ich will einfach nur $url übergeben bekommen, so: "ordner1/ordner2/trallala"
Danke
Diese Expression DInger sind ..... ich kapier die nicht
ich fang alles ab und mach es in PHP
Code: Alles auswählen
RewriteRule (.*)/$ /?folder=$1
RewriteRule (.*)\.html$ /?file=$1
Das da noch Parameter stehen, ist eine Altlast, die werden garnicht verwendet
ich greif die URL aus den $_SERVER Umgebungsvariablen ab
Code: Alles auswählen
// abschliesenden Slash an Ordnner anhängen wenn nicht da
if ( !strpos($_SERVER[REQUEST_URI], ".") )
{
if ( strrpos("#".$_SERVER[REQUEST_URI], "/")
< strlen($_SERVER[REQUEST_URI] ) )
{
$error=""; $_SERVER[REQUEST_URI].="/";
}
}
/***********************************************************************
* REQUEST analyse
* Sub
* Domain
* Folder
* File
**********************************************************************/
$REQUEST = strtolower($_SERVER[HTTP_HOST]);
$REQlast = -1;
$tok = strtok($REQUEST, ".");
while( $tok )
{
$REQlast++;
$REQlist[4] = $REQlist[3];
$REQlist[3] = $REQlist[2];
$REQlist[2] = $REQlist[1];
$REQlist[1] = $REQlist[0];
$REQlist[0] = $tok;
$tok = strtok( "." );
}
$REQUEST_SUB = $REQlist[2];
$REQUEST_HOST = $REQlist[1].'.'.$REQlist[0];
$REQUEST_SITE = $REQlist[2].' '.$REQlist[1].' '.$REQlist[0];
$REQUEST_DOMAIN = $REQlist[1];
$REQUEST_FOLDER = $GLOBALS[folder];
$REQUEST_FILE = $GLOBALS[file];
$REQUEST_FILEPATH = $_SERVER[REQUEST_URI];
$REQUEST_FILE = $GLOBALS[file];
$REQUEST_FOLDER = $GLOBALS[folder];
// Folder und File per Hand ermitteln
//echo("<br>#############$_SERVER[REQUEST_URI]#".substr($_SERVER[REQUEST_URI], -5));
//echo("<br>######$REQUEST_FOLDER#$REQUEST_FILE#");
if ( ".html"==substr($_SERVER[REQUEST_URI], -5) )
{
//echo("<br>$_SERVER[REQUEST_URI]");
$REQUEST_FILE =substr($_SERVER[REQUEST_URI], 0, -5);
$pos =strrpos($REQUEST_FILE, "/");
$REQUEST_FOLDER=substr($REQUEST_FILE, 0,$pos);
$REQUEST_FILE =substr($REQUEST_FILE, 1+$pos);
//echo("<br>#$REQUEST_FOLDER#$REQUEST_FILE#");
}
else
{
$REQUEST_FILE = "";
$REQUEST_FOLDER = $_SERVER[REQUEST_URI];
//echo("<br>#$REQUEST_FOLDER#$REQUEST_FILE#");
}
if ( "/"==substr($REQUEST_FOLDER, 0, 1) ) $REQUEST_FOLDER=substr($REQUEST_FOLDER, 1);
if ( "/"==substr($REQUEST_FOLDER, -1 ) ) $REQUEST_FOLDER=substr($REQUEST_FOLDER, 0, -1);
if ( "/"==substr($REQUEST_FILE, 0, 1) ) $REQUEST_FILE=substr($REQUEST_FILE, 1);
if ( "/"==substr($REQUEST_FILE, -1 ) ) $REQUEST_FILE=substr($REQUEST_FILE, 0, -1);