我在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和图像放在一起。不知道如何解决这个问题。
答案 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');
});
这些是改变后的路线: