【问题标题】:Laravel route not working due to file name由于文件名,Laravel 路由无法正常工作
【发布时间】:2017-08-09 17:21:50
【问题描述】:

上周我在使用 Laravel 时遇到了一个奇怪的问题。

基本上,假设我正在编辑一个视图“view.blade.php”和控制器“ViewController.php”,并且我不断刷新浏览器页面以查看我的更改。

我的视图由 ViewController 的 index() 函数加载,如下所示:

public function index()
{
    return view('view');
}

一切正常,我看到我的更改反映在浏览器中。但是,由于某种原因,页面突然变白,我的视图停止加载。 Laravel.log 或控制台中没有错误,什么都没有。它只是显示一个白页。

问题是,如果我将视图文件的名称更改为“view2.blade.php”并将索引函数更改为返回“view2”,则页面会正常加载并且运行良好。似乎文件名是阻止页面加载的唯一因素。

我已尝试使用以下工匠命令清除所有缓存:

php artisan route:cache
php artisan cache:clear
php artisan view:clear
php artisan config:cache

并执行php artisan optimize

但是,问题仍然存在。我没有修改或添加任何供应商文件。

这不会经常发生,但它很烦人,当我将它单独放置一段时间以在另一个视图/控制器上工作时,它通常会“神奇地”自行解决。但是,我只想知道是否有其他人有此问题,以及是否有任何解决方案。

我这样定义我的路线: Route::resource('view', 'ViewController');

使用 Laravel 5.4

【问题讨论】:

    标签: php laravel web-applications laravel-5.4 php-7


    【解决方案1】:

    尝试清除浏览器现金ctrl + F5

    【讨论】:

    • 忘了包括我也试过了。在 IE 和 Chrome 中也进行了测试,得到了相同的结果。
    【解决方案2】:

    嘿,试试这个网址http://yoursite.dev/view/,请注意您需要将 yoursite.dev 替换为您的本地域。

    通过在资源函数中包含“view”字符串,您将创建一个相对于/view 基本域的宁静资源。

    这里是文档的链接https://laravel.com/docs/5.4/controllers#resource-controllers

    参考表格Actions Handled By Resource Controller 以获得详尽的解释。

    【讨论】:

    • 不幸的是(但也值得庆幸的是哈哈),错误已经神奇地再次修复了(实际上除了继续编辑另一个视图之外什么也没做,除了新视图文件和新视图控制器之外没有编辑任何文件)。但是,我确实尝试在它被破坏时直接访问该 url,它仍然显示一个白页,没有错误。
    • 请注意,如果您要使用函数调用view('view');,则在您的resources/views/ 目录中您需要有一个文件名view.blade.php。我相信你知道这一点,只是为了以防万一:)你永远不知道,我们都在看事情(thumbsup)
    • 是的,我有那个:)。别担心,我明白,最烦人的错误肯定是那些有一个简单解决方案的错误,因为我们想到了所有的东西,除了一些像检查名字之类的东西哈哈
    • 还希望这很简单,但我只是愚蠢。但是,我不明白为什么更改文件名足以让它突然工作。不过,我也是 Web 开发的新手,尽我所能尽快掌握所有工作。
    猜你喜欢
    • 2013-09-22
    • 2018-01-17
    • 2017-10-15
    • 1970-01-01
    • 2016-12-05
    • 2023-03-13
    • 1970-01-01
    相关资源
    最近更新 更多