Ошибка 404 Laravel Valet

У меня в 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

Код работал нормально раньше, и я ничего не менял, я попытался переустановить Valet, а также использовал собственный сервер разработки Artisans для просмотра и публикации на страницах и все еще имел тот же результат

Где я могу начать искать?

Изменить: вот мой список маршрутов для контроллера заданий (извините за форматирование)

| | ПОЛУЧИТЬ | ГОЛОВУ | работа | job.index | Приложение \ Http \ Controllers \ JobController @ index
| | ПОЧТА | работа | job.store | App \ Http \ Controllers \ JobController @ store | сеть |

| | ПОЛУЧИТЬ | ГОЛОВУ | работа / создание | job.create | Приложение \ Http \ Controllers \ JobController @ create | сеть |

| | PUT | PATCH | работа / {работа} | job.update | Приложение \ Http \ Controllers \ JobController @ update | сеть |

| | УДАЛИТЬ | работа / {работа} | job.destroy | Приложение \ Http \ Controllers \ JobController @ destroy | сеть |

| | ПОЛУЧИТЬ | ГОЛОВУ | работа / {работа} | job.show | Приложение \ Http \ Controllers \ JobController @ show | сеть |

| | ПОЛУЧИТЬ | ГОЛОВУ | job / {job} / edit | job.edit | Приложение \ Http \ Controllers \ JobController @ edit | сеть |

а вот код контроллера - http://codepad.org/vgot10GN

ОБНОВЛЕНИЕ И РЕШЕНИЕ:

Хорошо, это была довольно уникальная проблема, но она могла случиться с вами.

Я хранил изображения в общей папке - в качестве теста для загрузки файлов в каталог с именем job. Естественно, поскольку корнем NGINX для файлов является общая папка, при отправке в /job NGINX сначала предполагается, что он отправляется в папку с именем job в общей папке.

В данном случае это была просто папка, содержащая изображение.

Итак, после удаления этой папки и повторной попытки она сработала.


person iLC    schedule 08.01.2018    source источник


Ответы (2)


Когда вы переходите по URL-адресу /job, Laravel попытается выполнить JobController@index метод.

Чтобы понять, какие именно маршруты генерирует Route::resource, выполните эту команду:

php artisan route:list
person Alexey Mezenin    schedule 08.01.2018
comment
@iLC, пожалуйста, покажите recruiter промежуточное ПО. Кроме того, если к маршруту применяется какое-либо другое промежуточное ПО, также покажите его. - person Alexey Mezenin; 08.01.2018
comment
`дескриптор публичной функции ($ request, Closure $ next) {if (\ Auth :: user () -› role- ›name! = 'recruiter') {return redirect ('profile'); } return $ next ($ request); } ` - person iLC; 08.01.2018
comment
@iLC, применяете ли вы какое-либо другое промежуточное ПО к маршруту в вашем web.php? Пожалуйста, покажите результаты для php artisan route:list для /job URI. - person Alexey Mezenin; 08.01.2018
comment
добавил это в вопрос - у меня нет другого промежуточного ПО в web.php - person iLC; 08.01.2018
comment
@iLC код выглядит нормально, включая контроллер, маршруты и т. д. Может быть, вы используете кеш или что-то в этом роде? - person Alexey Mezenin; 08.01.2018

Проверьте, доступен ли ваш job.app, и если да, ваш псевдостат не настроен. Укажите, что ваш сервер - apache или nginx.

person DavidNineRoc    schedule 08.01.2018
comment
да, я могу переходить к другим страницам и даже к некоторым методам в контроллере заданий, но не к индексу или хранилищу codepad.org/vgot10GN - person iLC; 08.01.2018