Laravel 路由文件的更新没有效果

Posted

技术标签:

【中文标题】Laravel 路由文件的更新没有效果【英文标题】:Updates to Laravel route file have no effect 【发布时间】:2019-11-20 22:10:06 【问题描述】:

我正在尝试创建一个视图来显示数据库中的数据,但我发现我的路由文件不再执行任何操作。

目前我正在尝试使测试功能正常工作,但是当我转到 /test 时,它只会显示 “找不到页面”。其他路线有效。即使我删除所有内容并保存文件,所有其他路由都可以工作。

我尝试了artisan route:clearartisan cache:clear 等等,但没有任何效果。

这是我的路线文件。

Route::get('/test', function () 
    return "ok";
);//this is not workig

Route::get( '/', function () 
    return view( 'welcome' );
 );

Route::resource( 'submission', 'SubmissionController' );

【问题讨论】:

你是在本地主机上做这个吗?请记住,路由的路径来自公用文件夹 - 您可能需要一些 .htaccess 才能从 URL 中删除公用文件夹。 访问/public/test 是否返回“ok”? @MateiMihai 不傻,非常感谢任何帮助的尝试。之前一切正常,即使我删除了路由文件,其他路由仍然有效。其他路线是在一个多月前创建的。似乎路由文件被缓存或其他东西,但无论我做什么,都没有改变。 嗯是的..看起来是这样..也许删除storage/framework/cache/* 去掉斜线! Route::get('test', function () 【参考方案1】:

当你执行 php artisan route:cache 时,Laravel 会在 bootstrap/cache/routes.php 目录中创建一个缓存的路由文件。虽然此文件存在,但您的所有其他应用程序路由文件都将被忽略。

每当您创建新路由时,您都需要通过执行php artisan route:cache 重新生成路由缓存。

如果需要删除路由缓存可以执行php artisan route:clear

如果上述方法未能解决您的问题,则可能表示权限问题。确保bootstrap/cache 目录具有正确的更改/删除权限。

否则,您可以自己手动删除 bootstrap/cache/routes.php 文件。

【讨论】:

以上是关于Laravel 路由文件的更新没有效果的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 路由相同的基本路径

Laravel Bootstrap-Form 更新路由报错

Laravel 从 /public 文件夹外的 ROOT 调用。获取 NotFoundHttpException

Laravel 在身份验证异常时自动重定向

Laravel 路由未在服务器上更新

《learning laravel》翻译第三章-----搭建我们第一个网站