Laravel 4路由创建没有区域设置的重定向循环

时间:2013-06-05 15:35:58

标签: laravel laravel-4 url-routing

我在laravel 4中建立路线时遇到了麻烦。

我的routes.php是:
http://paste.laravel.com/v92

当我点击我的网址中没有区域设置的主页时,它会运行并转到Pagecontroller @ showHomepage。当我尝试使用我的网址中的区域设置(例如en或nl)来访问它时,它也可以工作并加载Pagecontroller @ showHomepage。

所以: / - >工作
/ nl - >工作
/ en - >工作

然而,管理组中的相同内容不起作用。如果我尝试访问没有语言环境的管理路由我得到一个浏览器错误,停止加载与重定向循环错误。 但是,如果网址中包含区域设置,则确实有效。

所以: / admin - >不起作用 / nl / admin - >工作
/ en / admin - >工作

我做错了什么?我希望能够在没有语言环境的情况下进入管理页面(它加载默认语言环境)

使用php artisan routes命令更新: http://paste.laravel.com/v9w

第二次更新: 这与我在我的公共文件夹中有一个管理员文件夹的事实有关,我把所有与管理员相关的js,css和图像放在一起。不知道如何解决这个问题。

2 个答案:

答案 0 :(得分:6)

我自己修复了它,这与我的公共文件夹中有/ admin /文件夹这样的事实有关,其中包含css和图像文件等资源。

我将assets文件夹重命名为/ admin-assets /,然后再次运行。

答案 1 :(得分:0)

您可能需要添加另一条路径来填充/ admin,因为其他/ admin位于您的区域设置组内:

Route::group(array('prefix' => 'en'), function()
{
    Route::get('/', 'PageController@showHomepage');

    Route::group(array('prefix' => 'admin'), function()
    {
        Route::get('/', 'AdminPageController@showDashboard');
    });
});

Route::group(array('prefix' => 'admin'), function()
{
    Route::get('/', 'AdminPageController@showDashboard');
});

这些是改变后的路线:

enter image description here