未找到 404 的所有可能问题 laravel 6
ALL possible issues of 404 NOT found laravel 6
这几天我一直被一个奇怪的问题困住了。我所有的网络应用程序路由都工作正常,除了一个。它有一个 404 未找到的问题。所以我检查了:
- 我的路线列表。它存在。
| | GET|HEAD | dashboard/profile/create | profile.create | App\Http\Controllers\Dashboard\ProfileController@create | web
路由列表中的 URI 和搜索框中的请求 URL 匹配。
请求 URL:http://localhost/CMSsk/CMS/public/dashboard/profile/create
检查了我的 blade 布局。没问题。
<a href="{{ route('profile.create') }}" class="nav-link"><i class="fas fa-briefcase fa-2x mr-2"></i>Add Credentials</a>
- 检查控制器。它存在。
public function create()
{
$user = Auth::user();
return view('Dashboard.Profile.profile-create',compact('user'));
}
- 检查 Apache2 重写模块(启用)并覆盖所有。
使用 PHPUnit 和 Chrome 浏览器开发工具来检查网络、控制台、应用程序 Cookie、存储。找不到除 404 以外的任何问题。
使用 PHPUnit 测试和 XDebug,dd() 来跟踪问题。代码未到达控制器方法。
检查了所有可能的堆栈溢出问题。没有解决问题。
已清除浏览器缓存。
做过:
php artisan route:cache
问:还有哪些其他可能的问题我可能没有检查来解决这个简单但复杂的问题?
注意:我从另一个安装了社交媒体共享第 3 方插件 (AddThis) 的页面引用了表单页面。因此,我从那里尝试了其他表单页面和其他链接并且它有效。所以我很困惑为什么只有一页有问题(我认为插件可能有效)。
更新:
我修复了解决方案,但我想分享我是如何做的,这样任何偶然发现这种情况的人都能找到一些 help.So 在这里:
解法:
我首先创建了一个路由组,其中 prefix
名为 profile
。它有19条路线。紧接着我创建了一个名为 prefix
的资源路由。所以这两个相同的名字有冲突,我没有得到页面。
我是怎么想出来的:
我几乎 运行 出了所有可能的解决方案。所以我开始手动测试路线只是为了弄清楚是否存在模式发展。我知道这不是最有效的方法,但我想找出一种模式,这就是我这样做的原因。在测试名为 profile
的路由组 prefix
之后,我发现该组内的所有路由都无法从我调用它的地方运行。然后我从那个特定的 blade 视图测试了那个组之外的路由并且它正在工作。所以我更改了资源路由的名称,以使其与路由组 prefix
区分开来。它奏效了!
这几天我一直被一个奇怪的问题困住了。我所有的网络应用程序路由都工作正常,除了一个。它有一个 404 未找到的问题。所以我检查了:
- 我的路线列表。它存在。
| | GET|HEAD | dashboard/profile/create | profile.create | App\Http\Controllers\Dashboard\ProfileController@create | web
路由列表中的 URI 和搜索框中的请求 URL 匹配。 请求 URL:http://localhost/CMSsk/CMS/public/dashboard/profile/create
检查了我的 blade 布局。没问题。
<a href="{{ route('profile.create') }}" class="nav-link"><i class="fas fa-briefcase fa-2x mr-2"></i>Add Credentials</a>
- 检查控制器。它存在。
public function create()
{
$user = Auth::user();
return view('Dashboard.Profile.profile-create',compact('user'));
}
- 检查 Apache2 重写模块(启用)并覆盖所有。
使用 PHPUnit 和 Chrome 浏览器开发工具来检查网络、控制台、应用程序 Cookie、存储。找不到除 404 以外的任何问题。
使用 PHPUnit 测试和 XDebug,dd() 来跟踪问题。代码未到达控制器方法。
检查了所有可能的堆栈溢出问题。没有解决问题。
已清除浏览器缓存。
做过:
php artisan route:cache
问:还有哪些其他可能的问题我可能没有检查来解决这个简单但复杂的问题?
注意:我从另一个安装了社交媒体共享第 3 方插件 (AddThis) 的页面引用了表单页面。因此,我从那里尝试了其他表单页面和其他链接并且它有效。所以我很困惑为什么只有一页有问题(我认为插件可能有效)。
更新:
我修复了解决方案,但我想分享我是如何做的,这样任何偶然发现这种情况的人都能找到一些 help.So 在这里:
解法:
我首先创建了一个路由组,其中 prefix
名为 profile
。它有19条路线。紧接着我创建了一个名为 prefix
的资源路由。所以这两个相同的名字有冲突,我没有得到页面。
我是怎么想出来的:
我几乎 运行 出了所有可能的解决方案。所以我开始手动测试路线只是为了弄清楚是否存在模式发展。我知道这不是最有效的方法,但我想找出一种模式,这就是我这样做的原因。在测试名为 profile
的路由组 prefix
之后,我发现该组内的所有路由都无法从我调用它的地方运行。然后我从那个特定的 blade 视图测试了那个组之外的路由并且它正在工作。所以我更改了资源路由的名称,以使其与路由组 prefix
区分开来。它奏效了!