我在 web.php
中有以下内容:
Route::resource('/job', 'JobController');
链接到控制器,我有通常的CRUD方法,有些工作,例如转到 joben.app/job/1
:
public function show(Job $job)
{
//
dd($job);
}
但是,每当我导航到 job.app/job
时,我都会收到404错误,每当我发布到 job.app/job
时都会出错
代码工作正常,我没有改变任何东西,我已经尝试重新安装代客,并使用Artisans自己的开发服务器查看和发布到页面,仍然有相同的结果
我在哪里可以开始寻找?
编辑:这是我的作业控制器的路由列表(抱歉格式化)
| | GET | HEAD |工作| job.index | App \ Http \ Controllers \ JobController @ index | | POST |工作| job.store | App \ Http \ Controllers \ JobController @ store |网络| | | GET | HEAD |工作/创造| job.create | App \ Http \ Controllers \ JobController @ create |网络| | | PUT | PATCH | job / | job.update | App \ Http \ Controllers \ JobController @ update |网络| | |删除| job / | job.destroy | App \ Http \ Controllers \ JobController @ destroy |网络| | | GET | HEAD | job / | job.show | App \ Http \ Controllers \ JobController @ show |网络| | | GET | HEAD | job / / edit | job.edit | App \ Http \ Controllers \ JobController @ edit |网络|
这是控制器代码 - http://codepad.org/vgot10GN
更新和解决方案:
好的,这是一个非常独特的问题,但它可能会发生在你身上 .
我将图像存储在公共文件夹中 - 作为在名为 job
的目录下的文件上载测试 . 当然,由于文件的NGINX根是公用文件夹,当发布到 /job
NGINX时,首先假设转到公用文件夹中名为 job
的文件夹 .
在这个例子中,这只是一个包含图像的文件夹 .
因此,删除此文件夹并重新尝试后,然后工作 .
2 回答
检查您的
job.app
是否可访问,如果是,则不配置您的假静态 . 请提供您的服务器是apache还是nginx .当您转到
/job
URL时,Laravel将尝试执行JobController@index
方法 .要了解
Route::resource
生成的确切路由,请运行以下命令: