von Philipp Gérard |
so, klappt! tausend dank c3o und alle anderen hilfsbereiten  |
von Philipp Gérard |
tausend dank - es scheint zu klappen, auch wenn mein script nicht mitmacht. aber das wird schon  |
von c3o |
Ja, das geht ansich eh schon wies oben war.
RewriteEngine on
RewriteRule ^((classes|functions|misc|libs)/.*\.php)$ /display/?file=/$1
Zur Erklärung:
Das Format ist: RewriteRule RegularExpression ZielURL
Und diese RegExp im Detail bedeutet:
^ = Anfang des Strings
( ) = der eingeklammerte Teil steht nachher als Variable, $1, zur Verfügung
x|y = x oder y
/ = das Zeichen Schrägstrich (also keine spezielle Bedeutung)
.* = beliebige Zeichen, beliebig oft
\. = das Zeichen Punkt, maskiert damit es nicht "beliebiges Zeichen" heißt
$ = Ende des Strings
Ich <3 Regular Expressions.. jedenfalls seitdem ich sie endlich halbwegs kann Da vermisst man echt die Möglichkeit, zB Google oder Word-Dokumente so zu durchsuchen... |
von Philipp Gérard |
ei, das ist ein anfang, danke, aber ich habe es schlecht formuliert:
die ordnerstruktur ist wie folgt:
1:
2:
3:
4: | /classes/irgendeinordner/einephpdatei.php
/libs/irgendeinordner/einephpdatei.php
/functions/irgendeinordner/einephpdatei.php
/misc/irgendeinordner/einephpdatei.php |
irgendeinordner kann auch ganz anders heißen und muss somit variabel sein 
und nun soll aus dieser datei folgendes gemacht werden:
/display/?file=/misc/irgendeinordner/einephpdatei.php
oder halt /classes/functions/libs anstelle von misc.
danke! |
von c3o |
Das müsste so gehen:
(.htaccess im Grundverzeichnis)
RewriteEngine on
RewriteRule ^(.*(classes|functions|misc|libs)/.*\.php)$ /display?file=$1
http://domain.tld/narf/classes/bla.php -> http://domain.tld/display?file=narf/classes/bla.php
http://domain.tld/hurra/libs/bla.php -> http://domain.tld/display?file=hurra/libs/bla.php
Wenn der Teil vorne (narf, hurra) nicht austauschbar sein muss, es also nur 1 Verzeichnis classes gibt wo das funktionieren soll (ist aus deinem Posting nicht klar hervorgegangen), nimm das erste Vorkommen von .* raus, gibs in die .htaccess ein Verzeichnis über /classes, /functions usw. und nimm den Schrägstrich vor display weg. |
|