Weiterleitung bei nichtvorhandener Directory

Habe bei einem Projekt das Problem,

das Userdaten mittels dem Namen direkt über die URL aufgerufen werden
sollen.

z=2EB. : http://www.diedomain.de/Username

Nun möchte ich natürlich nicht für jeden User einen eigenen Ordner
anlegen lassen.
Das wäre Unsinn. Meine Idee war nun das ganze über "mod_rewrite" in
der .htaccess zu realisieren.

Und das entsteht das Problem. Ich sitze nun den ganzen Tag im Netz und
klappere die Foren & Tutorials ab, nur diese Möglichkeit wird nirgend
angesprochen.
Vielleicht kann mir hier jemand helfen, da ich mit meinen
Möglichkeiten am Ende bin ...

Der Eintrag in der htaccess sie folgendermaßen aus :

############################################################ ##########
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -F
RewriteRule ^([a-zA-Z0-9.-]+)!\.php$ /find_user.php?reffer=3D$1
[QSA,L]
############################################################ ###########

Gebe ich nun die URL : http://www.diedomain.de/Username ein
bekomme ich Fehlermeldung 404 (Seite nicht gefunden)

Setzte ich von -d,-f,-F jeweils ein ! davor bekomme ich die Seite
"find_user.php?reffer=3D$1" zwar angezeigt, aber das in jedem Fall also
auch wenn ich auf die index.php will.

Kann mir jemand sagen was hier falsch läuft ??

Danke im voraus.

P=2ES.: Ich denke, das das vielleicht nicht das richtige Forum ist...
aber ich hoffe, das jemand schon einmal etwas dergleichen realisiert
hat.
Armin Aki [ Mi, 22 August 2007 17:37 ] [ ID #1802513 ]

Re: Weiterleitung bei nichtvorhandener Directory

Armin Aki schrieb:
> RewriteEngine on
> RewriteBase /
> RewriteCond %{REQUEST_URI} -d [OR]
> RewriteCond %{REQUEST_FILENAME} -f [OR]
> RewriteCond %{REQUEST_FILENAME} -F
> RewriteRule ^([a-zA-Z0-9.-]+)!\.php$ /find_user.php?reffer=$1
> [QSA,L]
>
> [...]
>
> Setzte ich von -d,-f,-F jeweils ein ! davor bekomme ich die Seite
> "find_user.php?reffer=$1" zwar angezeigt, aber das in jedem Fall also
> auch wenn ich auf die index.php will.

Sollte funktionieren:

RewriteEngine On
RewriteRule index.php index.php [QSA,L]
RewriteRule ^([0-9a-zA-Z]*)$ index.php?reffer=$1 [QSA,L]

Je nachdem, was für Zeichen du im Benutzernamen erlaubst, musst du die
Menge der erlaubten Zeichen in der zweiten Regel anpassen.

Gruß,
Habbo
bruening [ Mi, 22 August 2007 17:41 ] [ ID #1802514 ]

Re: Weiterleitung bei nichtvorhandener Directory

>
> Sollte funktionieren:
>
> RewriteEngine On
> RewriteRule index.php index.php [QSA,L]
> RewriteRule ^([0-9a-zA-Z]*)$ index.php?reffer=3D$1 [QSA,L]
>
> Je nachdem, was für Zeichen du im Benutzernamen erlaubst, musst du die
> Menge der erlaubten Zeichen in der zweiten Regel anpassen.
>
> Gruß,
> Habbo

Besten Dank Habbo,
etwas geändert und das ganze funktioniert einwandfrei ...

RewriteEngine on
RewriteBase /
RewriteRule index.php index.php [QSA]
RewriteRule ^([a-zA-Z0-9-]+)$ find_user.php?reffer=3D$1 [QSA,L]

Man muß nur in unterordnern die eine index.php haben eine .htaccess
setzen in der man
RewirteEngine off setzt, sonst gehts schief.

Danke nochmals
Gruß
Aki
Armin Aki [ Mi, 22 August 2007 18:54 ] [ ID #1802515 ]
PHP » de.comp.lang.php.misc » Weiterleitung bei nichtvorhandener Directory

Vorheriges Thema: PHP Script gegen externe Einflüße schützen
Nächstes Thema: Strings aus einer Powerpoint-Datei auslesen