- piszę własny framework,
- posiadam folder public, w którym znajduje się plik rozruchowy index.php i .htaccess,
- index.php:
$_controller = $urlArray[0] ? $urlArray[0] : 'index'; $_action = $urlArray[1] ? $urlArray[1] : 'index'; $_parameter = $urlArray[2]; 'index/about', 'post/index')); $run = new $controllerName($_controller, $_action); $run->$_action($_parameter); } else { header("Location: <a href="http://myapp/index/noaccess"%3b%29;" target="_blank">http://myapp/index/noaccess");</a> }
- .htaccess:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?url=$1 [PT,L,NS] </IfModule>
Problem polega na tym, ze gdy ten 'user' w acl gdy nie ma dostepu do wywoływanego zasobu to dostaję komunikat, że nastąpiła pętla przekierowań i przeglądarka wywala błąd, a ja chcę tylko przekierować wtedy na akcje 'noaccess' kontrolera 'index'.
Sytuacja dzieje sie w momencie kiedy klikne w menu np. Rejestruj, ktore prowadzi do 'http://myapp/user/register/' <-- wlasnie do tej akcji i tego kotrnollera nie ma dostepu user tak jak jest to okreslone w $acl['user'] i z chwila klikniecia wlasnie w adres przegladarki wpada 'http://myapp/user/register/' i nie wiem wlasnie w jaki sposob do tego nie dopuscic...
Wlasciwie to powinienem zrobic taki system, zeby nie pokazywac tych linkow, do ktorych nie ma dostepu dany user w acl, wtedy nie bedzie miec co kliknac i po sprawie, ale tak z ciekawosci pytam na przyszlosc jak wykonac takie przekierowanie.
Jesli ktos moglby pomoc bylbym bardzo wdzieczny.