Простой маршрут Laravel вызывает бесконечный цикл в браузере

У меня чистая установка Laravel со следующими маршрутами:

Route::get('/', 'SiteController@showIndex');


Route::get('/admin', 'AdminController@showIndex');


Route::get('/admin/login', 'AdminController@showLogin');

И контроллеры: SiteController

public function showIndex()
{
    return 'default site controller... this controller is only used for frontend';
}

И Admincontroller:

public function showIndex(){
        echo 'AdminController: showindex';
    }


    public function showLogin(){
        return 'login';
    }




    public function actionAuthenicate(){
        return 'authenticate';
    }

Первый и последний маршрут работают. Я получаю напечатанную строку, видимую в браузере. Но маршрут / admin не работает. Затем я получаю сообщение об ошибке, мой браузер находится в бесконечном цикле.

Как я уже сказал, чистая установка, так что это единственная конфигурация, которую еще предстоит найти. Кто-нибудь может мне помочь?

С уважением,

Пим


person PimD1988    schedule 06.06.2014    source источник
comment
что произойдет, если вы удалите последний маршрут и снова попытаетесь получить к нему доступ?   -  person Ortix92    schedule 07.06.2014
comment
Пробовал, но все равно показывает тот же результат. Это определенно что-то с маршрутом, потому что, когда я запускаю ту же функцию с другим маршрутом, она отлично работает ...   -  person PimD1988    schedule 07.06.2014
comment
у вас есть папка под названием admin?   -  person Ortix92    schedule 07.06.2014
comment
нет, это просто маршрут ... Мне не нужна папка admin, проблема в маршруте, иначе другой маршрут / admin / login не должен работать, если бы у меня была папка ...   -  person PimD1988    schedule 07.06.2014
comment
хаха, да, у меня есть, теперь я понимаю, что вы имели в виду :) Он отлично работает после переименования папки администратора в / public / Спасибо!   -  person PimD1988    schedule 07.06.2014
comment
@ Ortix92, не могли бы вы прислать свой комментарий в качестве ответа, тогда я могу отметить его как правильный ответ :)   -  person PimD1988    schedule 08.06.2014


Ответы (2)


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

person Ortix92    schedule 08.06.2014

Вы повторяете строку, вам нужно ее вернуть.

public function showIndex() {
    return 'AdminController: showindex';
}

Но я не знаю, почему это вызывает цикл перенаправления.

person Antoine Augusti    schedule 07.06.2014
comment
Вы можете просто повторить строку в контроллере, это не должно быть проблемой ... В противном случае вы могли бы только повторить эхо в представлениях;) public function showIndex () {return 'AdminController: showindex'; } публичная функция showLogin () {echo 'логин'; } общедоступная функция actionAuthenicate () {вернуть «аутентифицировать»; } когда я вызываю вторую функцию из своего контроллера, она просто отлично работает, как и должно быть, ооочень суть не в этом;) - person PimD1988; 07.06.2014