我正在使用管理面板來管理Laravel 5.0 Web應用程序。 我正面臨路線問題。我有分組管理路線如下,Laravel 5路由組和基本(/)組中的GET路由
Route::group(['prefix' => 'admin', 'namespace' => 'Admin', 'middleware' => ['user.admin']], function() {
Route::get('login', [
'as' => 'admin.login',
'uses' => '[email protected]'
]);
Route::get('logout', [
'as' => 'admin.login',
'uses' => '[email protected]'
]);
Route::post('login', '[email protected]');
});
Route::group(['prefix' => 'admin', 'namespace' => 'Admin', 'middleware' => ['user.admin','auth', 'admin.acl']], function() {
Route::get('dashboard', [
'as' => 'admin.dashboard',
'uses' => '[email protected]',
'permission' => 'admin_dashboard'
]);
//Image Handler
Route::get('images/{size}/{name?}',[
'as' => 'admin.images',
'uses' => '[email protected]'
]);
Route::resource('user', 'UsersController');
........
});
事情工作正常。我可以使用下面沒有任何問題,
http://domain.com/admin/dashboard
http://domain.com/admin/login
但我想
http://domain.com/admin
顯示登錄頁面,或重定向到
http://domain.com/admin/login
所以我改變了我的第一組之後,
Route::group(['prefix' => 'admin', 'namespace' => 'Admin', 'middleware' => ['user.admin']], function() {
Route::get('/', [
'uses' => '[email protected]'
]);
Route::get('login', [
'as' => 'admin.login',
'uses' => '[email protected]'
]);
Route::get('logout', [
'as' => 'admin.login',
'uses' => '[email protected]'
]);
Route::post('login', '[email protected]');
});
現在Whe n我訪問
http://domain.com/admin
我在'這個網頁有一個重定向循環'在鉻。路線組中可能嗎?如果不是如何用.htaccess做到這一點?
UPDATE
下面是一箇中間件user.admin
的handle
方法。這隻會改變身份驗證的基礎模型。
public function handle($request, Closure $next)
{
\Config::set('auth.table', 'admins');
\Config::set('auth.model', 'App\DB\Admin\Admin');
\Config::set('session.cookie', 'admin_session');
\Config::set('session.path', '/admin/');
return $next($request);
}
UPDATE
這是驚人的,下面的工作
http://domain.com/index.php/admin
我沒碰過默認.htaccess
通過laravel 5.0,低於供給,
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
</IfModule>
我有近60-70條路線,a所有這些工作沒有index.php
接受在上述情況下我需要index.php
。
請發佈您的中間件 – Szenis
@ Szenis-謝謝。我已經更新了我的答案。 –
您可以嘗試最後申報'/'路線嗎?我想知道以什麼順序評估的路線。 – Grasshopper