Php 允许所有普通用户显示和阅读laravel中的所有帖子

Php 允许所有普通用户显示和阅读laravel中的所有帖子,php,laravel,blogs,Php,Laravel,Blogs,我是拉威尔的新手,我想上传一个免费的博客。但不幸的是,其中有一个小错误 当普通用户想要浏览单个帖子时,网站会重定向到登录页面。我想让所有普通用户都能在Laravel中显示和阅读所有帖子 下面是我使用的“web.php”代码 Route::get('/', 'WelcomeController@index')->name('primary'); Route::get('/archive', 'WelcomeController@archive')->name('pages.archiv

我是拉威尔的新手,我想上传一个免费的博客。但不幸的是,其中有一个小错误

当普通用户想要浏览单个帖子时,网站会重定向到登录页面。我想让所有普通用户都能在Laravel中显示和阅读所有帖子

下面是我使用的“web.php”代码

Route::get('/', 'WelcomeController@index')->name('primary');
Route::get('/archive', 'WelcomeController@archive')->name('pages.archive');
Route::get('/contact', 'WelcomeController@contact')->name('pages.contact');
//Route::get('/post/{id}', 'HomeController@show')->name('posts.show');

Auth::routes();

Route::group(['middleware' => ['auth']], function () {
    Route::get('/home', 'HomeController@index')->name('home');
    Route::resource('categories', 'CategoryController');
    Route::resource('tags', 'TagController');
    Route::resource('posts', 'PostController');
    Route::get('/trashed_posts', 'PostController@trashed')->name('posts.trashed');
    Route::get('/restore/{id}', 'PostController@restore')->name('posts.restore');
    Route::get('/users/{user}/profile', 'UserController@edit')->name('user.edit');
    Route::post('/users/{user}/profile', 'UserController@update')->name('user.update');
});

Route::group(['middleware' => ['auth', 'VerifyAdmin']], function () {
    Route::get('/dashboard', 'DashboardController@index')->name('dashboard');
    Route::get('/users/index', 'UserController@index')->name('users.index');
    Route::post('/users/{user}/admin_role', 'UserController@make_admin')->name('users.admin_role');
    Route::post('/users/{user}/writer_role', 'UserController@make_writer')->name('users.writer_role');
});
    
下面是“postController”的相关代码

public function __construct()
    {

        $this->middleware('checkCategories')->only('create');
    }

public function show(Post $post)
    {
        $user = $post->user;
        $latestpost = Post::orderBy('created_at', 'desc')->take(5)->get();
        return view('pages.single', ['post' => $post, 'categories' => Category::all(), 'tags' => Tag::all(), 'user' => $user, 'latest' => $latestpost]);
    }
    
    
请允许所有普通用户[来宾]显示和阅读所有帖子


谢谢

我现在知道问题出在哪里了,posts路由位于(中间件)中的错误组,因此它应该将用户重定向到登录页面

解决方案: 从“Route::group(['middleware'=>['auth']],function()”中删除以下代码

并将其粘贴到“Auth::routes();”之前


感谢您的时间…

我现在知道问题出在哪里了,posts路由位于(中间件)中的错误组,因此它应该将用户重定向到登录页面

解决方案: 从“Route::group(['middleware'=>['auth']],function()”中删除以下代码

并将其粘贴到“Auth::routes();”之前


感谢您抽出时间…

您应该取消对包含
Route::get('/post/{id}',的行的注释HomeController@show')->name('posts.show');
更改这第四行
//Route::get('/post/{id}','HomeController@show')->name('posts.show');
to
Route::get('/post/{id}','HomeController@show')->name('posts.show')
希望这能解决您的问题谢谢Clement,STA的评论,我实际上已经尝试了很多方法来解决这个问题,我添加了上面的路由并尝试在HomeController中创建新函数,但仍然存在相同的问题。请查看我使用的源代码,您应该取消对包含
路由::get('/post/{id}的行的注释', 'HomeController@show')->name('posts.show');
更改这第四行
//Route::get('/post/{id}','HomeController@show')->name('posts.show');
to
Route::get('/post/{id}','HomeController@show')->name('posts.show')
希望这能解决您的问题谢谢Clement,STA的评论,我确实尝试了很多方法来解决这个问题,我添加了上述方法并尝试在HomeController中创建新函数,但仍然存在相同的问题。请查看我使用的源代码,
```
Route::resource('posts', 'PostController');
```