403 конкретного маршрута Laravel - PullRequest
0 голосов
/ 07 октября 2019

Запуск Laravel v5.8.35

На моей локальной машине все маршруты работают должным образом. При загрузке на мой рабочий сервер все маршруты работают, кроме одного.

Route::resources([
        [...]
        'pages'             => 'PageAdminController',
        'resorts'           => 'ResortAdminController',
    ]);

Все мои основные маршруты администратора определены как маршруты ресурсов. Похоже, у меня проблемы с маршрутом Resort PUT, который обновляет модель. URL-адрес: /admin/resorts/{resort}.

. Контроллер курорта использует запрос, который возвращает значение true в методе авторизации (как и во всех других моих маршрутах администратора). Аутентификация выполняется с помощью промежуточного программного обеспечения, добавленного в группу маршрутов:

->middleware(['auth', 'role:superadministrator|administrator'])

Опять-таки, это одинаково на всех моих маршрутах администратора, которые все работают должным образом.

Я заметил, что у некоторых других была похожая проблема, и все сводилось к тому, что в их общей папке был каталог, соответствующий сегментам URL. Это не тот случай.

Я попытался очистить кеш. В журналах ошибок нет ошибок, и я поигрался с установленным мной пакетом защищенных заголовков и пакетом CORS. Кажется, что они не имеют значения.

Вот мой код для функции обновления в моем ResortAdminController:

    {
        $resort->name           = $request->name;
        $resort->caption        = $request->caption ? $request->caption : null;
        $resort->subtext        = $request->subtext;
        $resort->content        = $request->content;
        $resort->weather_code   = $request->weather_code;

        if($request->hasFile('banner'))
        {
            $resort->addMediaFromRequest('banner')
            ->toMediaCollection('banner');
        }

        if($request->hasFile('topbanner'))
        {
            $resort->addMediaFromRequest('topbanner')
            ->toMediaCollection('top-banner');
        }

        if($request->hasFile('button'))
        {
            $resort->addMediaFromRequest('button')
            ->toMediaCollection('button');
        }

        $resort->save();

        return redirect()->route('admin.resorts.index')->with('success', 'Resort successfully updated');
    }

и мой метод правил в моем пользовательском запросе:

public function rules()
    {
        return [
            'name'              => 'required|min:3|max:190',
            'caption'           => 'nullable|min:3|max:190',
            'subtext'           => 'required|min:30',
            'content'           => 'required|min:30',
            'weather_code'      => 'required|min:3',
            'banner'            => 'nullable|mimes:jpeg,jpg,svg,png,bmp|max:2048',
            'topbanner'         => 'nullable|mimes:jpeg,jpg,svg,png,bmp|max:2048',
            'button'            => 'nullable|mimes:jpeg,jpg,svg,png,bmp|max:2048',
        ];
    }

Любая помощь будет принята с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...