Laravel 5.3 在共享主机上; Page::findBySlug() returns 空

Laravel 5.3 on shared hosting; Page::findBySlug() returns null

我刚刚将 Laravel 网站推送到共享主机上。将 public 文件夹复制到 /www,更改 index.php 以反映路径更改并配置我的 .htaccess 等

起初我只是收到一个错误,告诉我 Page::findBySlug() 返回了 null。使用 dd() 再次检查,过去和现在仍然为空。

FrontendController@index 看起来像这样

public function index($slug)
{
    $page = Page::findBySlug($slug);
    $pageTemplate = $page->templates->first();
    return view('frontend.pages.index', compact('page','pageTemplate'));
}

在玩弄 dd() 一段时间后,它现在将我发送到自定义 500,除非它应该从 db 中提取 slug,在这种情况下我得到一个自定义 404。

编辑:我提取了相同版本的应用程序,但它已经从测试平台安装(而不是使用 composer instal 滚动)并且它可以正常工作,所以我怀疑它与托管有任何关系。鉴于我想以正确的方式进行操作,我仍然很感激您的回答。在 运行 全新安装后,我应该设置 slugs-wise 什么吗?

我在这里错过了什么?谢谢

尝试$page= Page::where('slug',$slug)->first();

尝试将您的 php 版本更新到 7.0。

已由 php artisan route:clear 修复。 显然 route:cache 不是正确的选择。