【问题标题】:Laravel simple route throws neverending loop in browserLaravel 简单路由在浏览器中引发永无止境的循环
【发布时间】:2014-07-28 07:15:06
【问题描述】:

我有一个干净的 Laravel 安装设置,包含以下路线:

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


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


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

还有控制器: 站点控制器

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

和管理员控制器:

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


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




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

第一条和最后一条路线有效。我在浏览器中看到打印线。但是 /admin-route 不起作用。然后我收到错误消息,我的浏览器处于无休止的循环中。

正如我所说,全新安装,所以这是唯一尚未找到的配置。有人可以帮帮我吗?

亲切的问候,

皮姆

【问题讨论】:

  • 当您删除最后一条路由并再次尝试访问时会发生什么?
  • 试过了,但仍然显示相同的结果。这绝对是路线的问题,因为当我用另一条路线触发相同的功能时,它工作得很好......
  • 你有一个叫admin的文件夹吗?
  • 不,这只是一条路线...我不需要文件夹“管理员”问题出在路线上,否则其他路线 /admin/login 如果我也不应该工作有一个文件夹...
  • 哈哈,是的,我有一个,现在我明白你的意思了:) 在 /public/ 中重命名管理文件夹后它工作正常谢谢!

标签: php laravel laravel-routing


【解决方案1】:

你正在回显一个字符串,你需要返回它。

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

但我不知道为什么会导致重定向循环。

【讨论】:

  • 您可以轻松地在控制器中回显一个字符串,应该没问题...否则您只能在视图中回显;) public function showIndex(){ return 'AdminController: showindex'; } 公共函数 showLogin(){ 回声“登录”; } 公共函数 actionAuthenicate(){ return 'authenticate';当我从我的控制器调用第二个函数时,它完全可以正常工作,因为它应该不是重点;)
【解决方案2】:

如果路由是系统中实际文件夹的名称,Laravel 无法生成路由。如果你重命名文件夹,它应该可以工作。

【讨论】:

    猜你喜欢
    • 2021-08-20
    • 2016-06-04
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多