2012-04-28 2 views
0

У меня есть проблема в моем приложении, который встроен в Yii ... когда я хочу, чтобы посетить ссылку, которая покажет мне ошибку в FireFox как ..Page вопрос Перенаправление в Yii

страница ISN» t правильно перенаправляется

Firefox обнаружил, что сервер перенаправляет запрос на этот адрес таким образом, который никогда не будет завершен.

и в хроме он говорит ...

Этот сайт имеет петлю перенаправлять

одна вещь больше она работает нормально на локальном компьютере; нет проблем, но указанная выше ошибка находится на реальном сервере ...

Теперь, в чем главная проблема здесь ..?

+1

Есть ли какие-либо перенаправления внутри вашей страницы, которые работают неправильно? хорошо, что есть, но это в вашем контроллере или где-то еще (может быть, config)? – llamerr

+0

yeah u были правыми @llamerr ... я искал моих заинтересованных контроллеров и обнаружил большую ошибку, когда я перенаправлял страницу из моего действия с домашним контроллером ... который сначала идет по индексу с сайта, а затем должен был перейти к моему указанному функция в домашнем контроллере ... который был бесконечным циклом ... я удалил эту функцию и поместил ее в другой контроллер ... теперь он работает нормально ... –

+0

OH .. !!! у него все еще есть проблема в firefox ... в хром это нормально ... почему ...? –

ответ

0

Через несколько дней сражающихся с петлей перенаправлять она была решена в не сексуально, но это работает

if (stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox')) echo '<meta http-equiv="refresh" content="0; url='.Yii::app()->createUrl('url/goes/there').'">' ; 
else $this->redirect(Yii::app()->createUrl('url/goes/there')); 
1

Похоже, что «Логин» действие не разрешено просматривать любыми пользователями. Поведение Yii по умолчанию, когда пользователь пытается получить доступ к странице только для членов, - это перенаправить его на страницу входа в систему, и поскольку ваше действие входа не разрешено гостевым пользователям, Yii снова перенаправляется на страницу входа, что приводит к бесконечному циклу и too-many-redirect error

Проверьте свою функцию accessRules() в классе контроллера «UserController.php» в вашем случае. Вы должны разрешить пользователю «Гость» или ЛЮБОЙ пользователю выполнить действие «actionLogin()» в этом случае.

просто добавить «имя пользователя» на «действия массив» и проверить «пользователей массива» значение «*»

// FILE = WebRoot/protected/controllers/UserController.php 

//... 
public function accessRules() 
     { 
       return array(
         array('allow', // allow all users to perform 'index' and 'view' actions 
           'actions'=>array('index','view','login'), 
           'users'=>array('*'), 
     //... 
     } 
//... 

вы можете иметь проблемы при удалении входа по умолчанию, а затем попробовать чтобы создать свою собственную, это может решить проблему.

Смежные вопросы