【发布时间】:2015-08-04 17:13:36
【问题描述】:
我的 routes.php 是这样的:
Route::get('deneme/{test}', 'TestController@index');
Route::get('send', 'MailController@index');
Route::get('elfinder/tinymce4', 'Barryvdh\Elfinder\ElfinderController@showTinyMCE4');
Route::group(['middleware' => ['auth', 'perm'], 'prefix' => 'admin'], function(){
Route::get('/', ['as' => 'admin', 'uses' => 'Admin\DashboardController@index']);
Route::resource('kategori', 'Admin\KategoriController');
Route::resource('icerik', 'Admin\ContentController');
// Property Routes
Route::resource('property', 'Admin\PropertyController');
Route::post("property/lang", ['uses' => 'Admin\PropertyController@langAdd', 'as' => 'admin.property.lang_add']);
Route::get("property/lang/{id}", ['uses' => 'Admin\PropertyController@langDelete', 'as' => 'admin.property.lang_delete']);
Route::get('users/add', 'Admin\UsersController@add');
Route::get('content/add', 'Admin\ContentController@add');
});
Route::get('admin/login',['as' => 'admin.get_login', function(){
return view("admin.login");
}]);
Route::post('admin/login', ['as' => 'admin.do_login', 'uses' => 'Auth\AuthController@postLogin']);
Route::get('admin/logout', ['as' => 'admin.logout', 'uses' => 'Auth\AuthController@getLogout']);
当我向 site.dev/admin 发送请求时,浏览器会说:
这个网页有一个重定向循环
ERR_TOO_MANY_REDIRECTS
我已删除轮换并将 PHP 标记留空,但此 url -site.dev/admin- 返回相同的错误。我测试了 2 个浏览器,Chrome 和 Firefox。我认为这个错误源于浏览器缓存和安装的 Opera 浏览器 - 之前没有安装 - 但仍然得到同样的错误。
【问题讨论】:
-
你能显示
auth和perm中间件吗? -
auth: public function handle($request, Closure $next) { if ($this->auth->guest()) { if ($request->ajax()) { return response( '未经授权。', 401); } else { return redirect()->guest(route('admin.get_login')); } } 返回 $next($request); } perm: public function handle($request, Closure $next) { return $next($request); }
-
我没有看到任何可以处理空白路线的东西。
-
我用 xdebug 进行了调试,但从第一个 php 代码开始没有发生任何事情。我在 public/index.php 第 22 行设置了断点,但它没有触发。第 22 行是 laravel 中的第一个 php 代码:require DIR.'/../bootstrap/autoload.php';
-
将底部的 3 个
admin/*路由中的每一个移动到admin组上方的某个位置,然后重试。
标签: php laravel redirect laravel-5 laravel-routing