Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.1-路线不起作用_Php_Laravel_Laravel 5.1 - Fatal编程技术网

Php Laravel 5.1-路线不起作用

Php Laravel 5.1-路线不起作用,php,laravel,laravel-5.1,Php,Laravel,Laravel 5.1,我的路线有问题,我有我的路线: Route::get('dashboard/password', 'UserController@password'); Route::post('dashboard/updatepassword', 'UserController@updatePassword'); // PAGINA UTENTE PUBBLICA Route::get('/{username}', 'FrontController@user'); // blog routes

我的路线有问题,我有我的路线:

Route::get('dashboard/password', 'UserController@password');

Route::post('dashboard/updatepassword', 'UserController@updatePassword');

// PAGINA UTENTE  PUBBLICA

Route::get('/{username}', 'FrontController@user');


// blog routes

    Route::get('blog', 'FrontController@blog');
    Route::get('blog/{slug}', 'FrontController@article');
    Route::get('blog/category/{name}', 'FrontController@BlogCategory');
    Route::get('blog/tag/{name}', 'FrontController@tags');

    Route::resource('comment', 'CommentController');
我的前台管理员:

public function blog()
    {

        $articles = Article::OrderBy('id','DESC')->paginate(3);
        $Allarticles = Article::OrderBy('id','DESC')->get();
        $Allcategories = BlogCategory::OrderBy('id','DESC')->get();
        $Alltags = Tag::OrderBy('id','DESC')->get();
        $Allcomments = Comment::OrderBy('id','DESC')->take(3)->get();

        return view('blog', compact('articles','Alltags','Allarticles','Allcategories','Allcomments'));
    }
如果我转到“”,它将返回到我之前所在的页面。类似于route->back()

我不知道为什么我有这个问题,其他博客路线的工作很好

我做了一些这样的测试:

public function blog()
        {
            return "Hi";

        }

它不会返回“嗨”,所以我认为这是路线的问题。我在这里没有可用的中间件,我的其他路径(如博客/文章)工作得很好。

你能发布路由文件的内容吗? 如果在您发布的路径上方有任何包含参数的
'blog'
路径(例如
Route::get('blog/{blog\u post\u id},
),请尝试将它们移动到文件中
'blog'
的下方

如果不是上面提到的,那么听起来可能有一些缓存在起作用,它在乱搞东西,当我运行我的优化以查看生产环境将如何运行时,它通常会抓住我,我忘记清除所有缓存,这是我通常的修复方法(我有别名,因为我经常搞砸它)

这将完全清除为路线、视图和授权创建的任何缓存


还要检查您的Laravel日志和Apache/NginX日志,这些日志总是值得一看的

好的,我修复了,问题是:

Route::get('/{username}', 'FrontController@user');

这里有一些错误,我不知道是哪个错误,可能是路径,我删除了这个,它工作正常。

您的问题是路由文件中的模式匹配。似乎路由被分配给了与URI匹配的第一个路由

Route::get('/{username}','FrontController@user');
路由::get('blog','FrontController@blog');
http://localhost:8000/blog
匹配这两个路由,因为
{username}
可以是
blog
,因此
Route::get('/{username}','FrontController@user“);
将始终使用

您必须在路由名称上更加具体(例如,添加更多文本),或者在路由顺序上更加具体。下面是一个以您希望的方式排列当前路由的示例

Route::get('dashboard/password','UserController@password');
路由::post('dashboard/updatepassword','UserController@updatePassword');
//博客路线
路由::get('blog','FrontController@blog');
路由::get('blog/{slug}','FrontController@article');
路由::get('blog/category/{name}','FrontController@BlogCategory');
路由::get('blog/tag/{name}','FrontController@tags');
路由::资源('comment','CommentController');
//帕吉娜·尤特·普布利卡酒店
路由::get({username},'FrontController@user');

你的blog.blade.php的完整路径是什么?你可能会用另一条路径覆盖该路径吗?尝试将你的路径放在路径的最顶端。phpviews/blog.blade.php这是完整路径,我没有使用文件夹,我不知道为什么,但不起作用。如果我去一条不存在的路径,我也会遇到同样的问题。问题是:Route::get('/{username}','FrontController@user“);我删除了它,谢谢工作人员,路由文件看起来不错,请尝试运行这些命令清除所有缓存,看看是否有帮助。如果我转到“”,您也可以尝试重新启动Apache/NginX+MySQL服务。”返回相同的问题,返回到我所在的页面。问题是:Route::get('/{username}','FrontController@user);我删除了它,它工作了
Route::get('/{username}', 'FrontController@user');