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');