Я реализовал функцию CakePHP redirect () при успешном входе в мое приложение.
Но по некоторым причинам перенаправление не работает, и вместо этого оно перенаправляется на тот же URL-адрес, а в журналах APACHE я вижу ответ HTTP 302. для этого перенаправленного URL.
Myкод выглядит примерно так:
if(isset($_REQUEST['submit']) && $_REQUEST['submit']=='Log In')
{
/*Entire validation logic goes here*/
if(isset($famUserInfo['user_type']) && $famUserInfo['user_type'] == USER_TYPE_ADVERTISER)
{
$redirectTo = !empty($returnto)?$returnto:'/homepageadv?login=1';
}
else if(isset($adminUserInfo['user_type']) && $adminUserInfo['user_type'] == USER_TYPE_ADMIN)
{
/* My control flow comes till here successfully */
$this->redirect("/opstool/zoneprobabilityindex");
die;
}
else
{
$redirectTo = !empty($returnto)?$returnto:'/homepage?login=1';
}
$this->redirect($redirectTo);
die;
}
Когда я проверяю в журналах APACHE, я заметил следующее:
127.0.0.1 - - [14/Oct/2011:19:24:34 +0530] "POST /login?returnto= HTTP/1.1" 302 5
127.0.0.1 - - [14/Oct/2011:19:24:34 +0530] "GET /opstool/zoneprobabilityindex HTTP/1.1" 302 12
127.0.0.1 - - [14/Oct/2011:19:24:34 +0530] "GET /login?returnto= HTTP/1.1" 200 6057
http://localhost:9001/login?returnto= - это URL моей страницы входа, и этокуда он возвращается.
Мое содержимое .htaccess находится в папке / app и выглядит следующим образом:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
Пожалуйста, помогите.Я поражен этим.