.htaccess und Zugriffsverteilung

Hallo Community,

gibt es eine Möglichkeit über die Funktion .htaccess eine Nutzerverteilung auf bestimmte Seiten vorzunehmen. Ich möchte für bestimmte Nutzer bestimmte Seiten zuweisen.
Also wenn sich z.B. Karl einloggt, das dann die Seite Karl.html aufgerufen wird. Oder wenn sich Heinz einloggt, das die Seite heinz.html aufgerufen wird.

Kann man diese Funktion in .htaccess einbinden oder wird darüber ein Verzeichnis nur pauschal geschützt.

LG Zersch :wink:

http://www.ekiwi.de/tools/htaccess/index.php

Mit PW+User … :smiley:

Sehr witzig. Ich wollte wissen ob man User mit Seiten verknüpfen kann.

ich glaub sowas geht am besten über php, aber warte mal bis jemand kommt der mehr ahnung von htaccess hat, der wird es dir dann genauer sagen können

Das es über PHP geht kann ich mir gut vorstellen. Nur ich habe keinen Plan von PHP. Hab damit noch nie gearbeitet, das ist das Problem an der ganzen Sache. Deshalb wollte ich einzelne User mit bestimmten Seiten über .htaccess verknüpfen. Werde aber mal kräftig googlen nachher, weil ich noch auf Arbeit bin.

Vielleicht helfen dir diese Ansätze weiter: webmasterworld.com/forum92/3782.htm

PHP Lösung:

<?php

$user=$_SERVER['PHP_AUTH_USER'];
$pass=$_SERVER['PHP_AUTH_PW'];

switch()
{
   case "Joe":
       if($pw != "joe") break;
       header("location: joe.html");
       break;
   case "Michi":
       if($pw != "michi") break;
       header("location: michi.html");
       break;

   default:
     header('WWW-Authenticate: Basic realm="My Realm"');
     header('HTTP/1.0 401 Unauthorized');
     die("Bitte einloggen!");
}

das Login kannst du auch anders machen :wink:

@michi7x7

Den Script werde ich zum Schluss ausprobieren, falls alle anderen Stricke reißen soltlen. Da ich keine Kenntnisse in PHP habe will ich damit auch nicht anfangen.

@freggle

Der “mod_rewrite” klingt gut und ich werde den heute abend mal ausprobieren ob das so funzt wie ich mir das vorstelle. Wenn es klappen sollte werd ich das Ergebnis hier posten.

Also es funktioniert wunderbar mit der htaccess. Habe folgende Zeilen eingefügt und damit wird jeder User auf einen speziellen Bereich gelenkt.

RewriteEngine on
RewriteCond $1 !^Username/
RewriteCond %{REMOTE_USER} ^Username$ [NC]
RewriteRule (.*) /hier das absolute Verzeichnis zur Umleitung rein/$1 [L]

Damit funktioniert es wunderbar.

Also ich werde noch verrückt. Vorhin lief es wunderbar. Jetzt wollte ich es ändern um die richtigen Benutzer in die .htpasswd reinzuschreiben und jetzt bekomm ich immer nen “Internal Server Error” wenn ich mich mit einem Usernamen einloggen will. Ich bin hier echt am verzweifeln. Wieso klappts nimmer.

.htaccess

AuthType Basic
AuthName "Geschützte Fotos"
AuthUserFile /users/xxx/www/xxx/.htpasswd
require valid-user
Options All -Indexes

RewriteEngine on
RewriteCond $1 !^test/
RewriteCond %{REMOTE_USER} ^test$ [NC]
RewriteRule (.*) /users/xxx/www/xxx/test/index.html/$1 [L]

Wie gesagt vorhin lief es und jetzt bekomm ich nur noch Errors. Habe schon die Caches geleert aber nix scheint zu helfen. Woran kann es liegen?

nimm da mal das all raus
Options All -Indexes

Hab ich getan, funktioniert trotzdem nicht. Wenn ich die rewrite Kommandos weglasse dann funktioniert die htaccess. Aber ich verstehe net warum es vorhin funktioniert hat.

Kannst dich ja mal versuchen einzuloggen bei mir mit

simon
test

hm ja musst mal warten bis einer kommt der sich mit htacces auskennt :smiley:
hammer is ja grad im thread der dürfte das wissen^^

Ok dann warte ich mal ab. Nur mit der selben htaccess hat es davor bestens funktioniert, deshalb verzweifel ich hier gerade. Ich leg mich erstmal aufs Ohr und schau morgen früh wieder rein.

Danke für die Hilfe

hi,

nimm mal ü raus, das sehen server schonmal gar nicht gerne. ansonsten poste mal die .htpasswd. unter linux müssen die passwörter verschlüsselt eingetragen werden, und hier läuft linux (phpinfo.bplaced.net).

du hast ja nur die .htpasswd in der zeit geändert oder? dann kanns eigentlich nur daran liegen. meistens zickt der server wegen unzulässigen leerzeichen rum, da muss man mal genau hinschauen.

lg

Edith :smiley:

Siehe unten

:hail: Erstmal vielen lieben Dank an alle die sich dem Problem angenommen. Weiß das sehr zu schätzen das ihr euch soviel Mühe gebt. :hail:

Also ich habe jetzt herausgefunden warum es nicht geklappt hat. Mit dem Script oben wird der User auf ein Verzeichnis umgeleitet werden, welches seinem Usernamen entspricht. Also User xyz muss in das Verzeichnis xyz geleitet werden.

Edith :smiley:

Ich habe herausgefunden, wie man den User auf ein beliebiges Verzeichnis umleiten kann. Also die erste Zeile ist klar
RewriteEngine on

Inder zweiten Zeile kommt dann der Ordnername rein, wo der User hingeleitet werden soll. Das soll(?) sicherstellen das der User nur in dieses Verzeichnis geleitet werden soll.
RewriteCond $1 !^Verzeichnisname/

Hier kommt dann der user rein der umgeleitet werden soll
RewriteCond %{REMOTE_USER} ^username$ [NC]

Hier kommt der Umleitungspfad rein. Durch die Regel $1 wird sichergestellt, das hier auch wirklich das Verzeichnis angegeben ist wo der User hin soll
RewriteRule (.*) /users/bplacedname/www/Verzeichnisname/index.html/$1 [L]

Nochmals Danke an alle :wink: