Проблемы маршрута Laravel - PullRequest
0 голосов
/ 11 июня 2018

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

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

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

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

Я не могу менять позиции маршрутов каждыевторой !!

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

Обновление

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

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

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

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

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

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

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

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

, например, вы посещаете / hello / mohammad, который выдаст «hello mohammad»

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

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

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

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

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

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

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

0 голосов
/ 11 июня 2018

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

...