没有可用的页面 - Laravel 5.2



我从github下载了CMS项目,Laravel版本5.2。我在文件夹中安装了作曲家,并更改了.env文件中的数据库信息,项目工作正常。

但只有主路由有效,其余路由给我"Opps 没有可用的页面">

刀片文件很好,只有路由不起作用!

<?php
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::auth();
Route::get('/home', 'HomeController@index');
Route::get('/post/{id}', ['as' => 'home.post', 'uses' => 'AdminPostsController@post']);
Route::group(['middleware' => 'admin'], function () {
Route::get('/admin', ['as' => 'admin.index', function () {
return view('admin.index');
}]);
Route::resource('admin/users', 'AdminUsersController');
Route::resource('admin/posts', 'AdminPostsController');
Route::resource('admin/categories', 'AdminCategoriesController');
Route::resource('admin/medias', 'AdminMediasController');
Route::resource('admin/comments', 'PostCommentsController');
Route::resource('admin/comment/replies', 'CommentRepliesController');

});
Route::group(['middleware' => 'auth'], function () {
Route::post('comment/reply', 'CommentRepliesController@createReply');
});

这是 .htaccess 文件:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

由于此路由是在资源路由之前定义的,因此路由将与导致"Opps!没有可用的页面"。

我相信在资源路由定义之后移动该路由定义应该可以解决您的问题。

试一试,让我们知道这是否得到解决。

根据您描述的路线,其他家庭路线与adminmiddleware分组。

只需与您的管理员middleware确认有关 404 重定向的信息即可。

更新

检查您的管理中间件并使用以下代码对其进行更新:

public function handle($request, Closure $next)
{
if ((Auth::check()))
{
//Here, YOURADMINROLE replace with your actual admin role..
if ((Auth::user()->hasRole('YOURADMINROLE')))
{
return $next($request);
}
}

App::abort(403, 'Access denied');
}

最新更新