Использование .htaccess, mod_rewrite и куки для разделения нескольких учетных записей? - PullRequest
0 голосов
/ 01 августа 2011

Я пытаюсь понять, как что-то сделать, но я даже не знаю, думаю ли я в правильном направлении.

Основная цель - разрешить несколько входов с разных учетных записей в одном браузере. Информация о пользователях хранится в файлах cookie, и я хотел бы использовать несколько похожих файлов cookie, связанных с различными виртуальными каталогами.

Моя текущая структура каталогов проста:

/
/scripts
/includes
/images

Мне нужно только повлиять на каталог скриптов.

Я хочу, чтобы пользователь мог получить доступ к виртуальному каталогу в каталоге сценариев, чтобы он мог видеть содержимое каталога сценариев, но передавал набор файлов cookie в виртуальный каталог. Таким образом, доступ к /scripts/username/file.php фактически осуществляет доступ к /scripts/file.php, но передает cookie, установленный в /scripts/username/

Я даже не знаю, возможно ли это. Если это возможно, мне понадобится помощь. :)

1 Ответ

1 голос
/ 01 августа 2011

Это было просто, когда я проработал сложные части.:)

Это очень простой .htaccess, как только вы разберетесь с регулярным выражением (это то, что мне еще нужно сделать)

/ scripts / .htaccess

RewriteEngine on
RewriteBase /scripts
RewriteRule ^([^/]*)/(.*) $2

Вот простая страница .php для получения пути и установки файла cookie, содержащего имя каталога, в текущем виртуальном каталоге.

/ scripts / test.php

<?php
$dirs = preg_split('/\//', $_SERVER['REQUEST_URI']);
$dir = '/'.$dirs[1].'/'.$dirs[2];
setcookie('cookie_test',$dirs[2],time()+60*60,$dir);

echo '<html><head></head><body>';
echo $_SERVER['REQUEST_URI'].'<br>';
echo $dir.'<br>';
echo 'cookie = ',$_COOKIE['cookie_test'];
echo '</body></html>';
?>

При первой загрузке он не видит cookie (конечно), но при второй загрузке, а после этого каждое произвольное имя каталога запоминает свой собственный cookie.

Как таковое, это всего лишь мое подтверждение концепции,И это все, что я искал сегодня.

...