CakePHP два маршрута по одному и тому же URL

#cakephp

#cakephp

Вопрос:

Возможно ли создать два маршрута по одному и тому же URL?

Так, например:

 Router::connect('/', array('controller' => 'users', 'action' => 'login'));
Router::connect('/', array('controller' => 'home', 'action' => 'index'));
  

Идея заключается в том, что, например, www.mywebsite.com будет отображать страницу входа в систему как свою домашнюю страницу без каких-либо перенаправлений на страницу входа в систему или что-либо еще. Как только пользователь войдет в систему, они снова попадут на домашнюю страницу, но вместо этого он загрузит индекс домашнего контроллера, но снова тот же URL!

Как бы я это сделал?

Ответ №1:

Ну, вы определенно не можете сделать это таким образом.

Вы могли бы попробовать установить / значение home/index и проверить, авторизован ли пользователь в home/index представлении, и отобразить форму входа, если это не так. А также проверьте, вошел ли пользователь в систему в контроллере.

Тем не менее, я действительно не могу представить, почему вы хотели бы сделать это именно так. Особенно если вы используете AuthComponent .

Комментарии:

1. Да, я использую AuthComponent, но какие другие варианты у меня были бы при его использовании, кроме перенаправления пользователя на действие входа в систему (это не то, что я хочу делать)

2. Что ж, делайте то, что я написал выше. В index методе home контроллера проверьте наличие $this->data и используйте это: book.cakephp.org/view/1261/login .