Проблемы с маршрутом Laravel

Я создал электронную коммерцию на laravel, где у меня есть более 100 различных видов маршрутов, и в моем файле web.php нет функции всех функций, предоставляемых в контроллерах.

Проблема, с которой я столкнулся - время от времени один из моих маршрутов перестает работать и перенаправляет меня на страницу whoops, looks like something went wrong.

Чтобы исправить это Мне нужно переместить этот маршрут в верхнюю часть моего файла web.php, и тогда он работает.

Результат на этот раз будет тормозить другой маршрут!

Я не могу менять положение маршрутов каждую секунду !!

Как я могу исправить эту проблему? Есть опыт?

Обновлять

Когда я проверил свой файл журнала, для моей серверной части (панели администратора) эта ошибка была вызвана тем, что я сделал свой заголовок уникальным и не мог сделать двойной заголовок fixed.

С другой стороны, для моего интерфейса у меня нет какого-либо одного и того же URL-адреса, я просто получаю уникальные URL-адреса, такие как domain.co/products, и у меня есть только один такой маршрут, но он дал ошибку, и я должен переместить его в верхнюю часть своих списков маршрутов, это почему?

Вы проверяли журналы? Опубликуйте эти детали в вопросе

DsRaj 11.06.2018 11:35

Нам понадобится увидеть код, чтобы помочь вам - вам нужно будет опубликовать все части, о которых вы говорите, и включить отладку, чтобы вы не получали ошибку типа «Упс».

Thomas Edwards 11.06.2018 11:45

@ThomasEdwards Я пытаюсь создать новый файл журнала, чтобы поделиться результатами, проявите терпение.

mafortis 11.06.2018 11:47

Включите отладку в файле конфигурации, чтобы увидеть настоящую ошибку.

Dessauges Antoine 11.06.2018 11:57

в первую очередь опубликуйте свой файл web.php.

Parth Pandya 11.06.2018 12:08
once a while действительно?
user9025311 11.06.2018 15:27
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
6
1 518
2

Ответы 2

если у вас есть 2 маршрута с одинаковым адресом, измените их и для получения дополнительной помощи пришлите нам свой файл web.php

Это распространенная проблема, на самом деле это происходит из-за того, что один из ваших маршрутов перекрывает другое объяснение проверки маршрута ниже.

скажем, у вас есть два маршрута на основе закрытия

Route::get('hello/{name}' , function($name){
    return "hello " . $name;
});

Route::get('hello/world' , function(){
    return "hello world is working"; 
});

как вы можете видеть в приведенном выше примере, мой первый маршрут принимает параметр маршрута и выводит привет плюс имя, переданное в маршруте

например, вы посещаете / hello / mohammad, что выводит "hello mohammad"

но только во втором маршруте, который вы хотите, если кто-то посетит hello / world, будет возвращен текст «hello world is working», однако возвращается hello world.

это происходит потому, что мы определили маршрут, который принимает параметр, перед статическим маршрутом (/ hello / world), поэтому, если мы изменим порядок маршрута, он будет работать так, как задумано.

поэтому одно правило, которое следует учитывать при определении двух маршрутов, которые начинаются с одного и того же пути (в нашем случае они оба начинаются с приветствия), всегда определяют статический маршрут перед динамическим маршрутом.

Вот почему также рекомендуется сгруппировать маршруты, начинающиеся с одного префикса.

Надеюсь, вы поняли и нашли мое объяснение полезным.

Предлагаю вам прочитать больше о маршрутизации в документации Laravel.

https://laravel.com/docs/5.6/routing

Другие вопросы по теме