gnark

: 23.01.2009 : 878
|
| : 16.03.2010, 14:17 : komplette URL als variable übergeben |
|
|
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
http://das-dass.de ... übrigens: es heisst sitewide mit "t" |
|
Mork vom Ork

: 08.07.2008 : 2568 : Aufm Friedhof.
|
| : 17.03.2010, 15:44 : Re: komplette URL als variable übergeben |
|
|
| gnark hat Folgendes geschrieben: |
^([^/\.]+)/?$
[…]
Funktioniert aber nur, wenn kein "/" drin ist |
Wenn du als Muster "Textbeginn, gefolgt von einem oder mehreren Zeichen außer Schrägstrich und Punkt, gefolgt von einem oder keinem Schrägstrich und dem Textende" angibst, musst du dich nicht wundern, wenn er anderswo als am Ende einer Zeichenkette keinen Schrägstrich mag.
| : |
| die müsste doch eigentlich alles, auch "/" weiterleiten |
"Alles" geht so: .* |
|
800XE


: 02.12.2004 : 5121 : XENEVU
|
| : 17.03.2010, 20:59 : Re: komplette URL als variable übergeben |
|
|
| gnark hat Folgendes 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: |
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: |
// 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);
|
aber nur ... /Affilitiv/ ... innovativ |
|