/ / CodeIgniter tras o tej samej nazwie - php, codeigniter, url, routing

Trasy CodeIgniter o tej samej nazwie - php, codeigniter, url, routing

Mam dwa różne kontrolery, które chcę prowadzić do tego samego URL.

Na przykład,

$route["dashboard/(:any)"] = "admin/crud/$1";
$route["dashboard/(:any)"] = "admin/dashboard/$1";

Ale powoduje to błędy 404.

Chyba jest jakiś problem z :any dzika karta.

Czy istnieje alternatywa do użycia?

Odpowiedzi:

0 dla odpowiedzi № 1

CodeIgniter nie mapuje kontrolerów na adresy URL, mapuje adresy URL do kontrolerów Routing URI.

Próbujesz odwzorować dwa dokładnie te same adresy URL, aby przejść do różnych miejsc. To nie ma sensu.

Ponadto od $route to tylko tablica asocjacyjna, nadpisujesz wartość zamiast dodawać dodatkową trasę.

$route["dashboard/(:any)"] = "admin/crud/$1";
$route["dashboard/(:any)"] = "admin/dashboard/$1"; //Immediately over writes the previous value

Wygląda na to, że masz problem z drugą trasą:

$route["dashboard/(:any)"] = "admin/dashboard/$1";

Ponieważ admin jest folderem, sprawdź, czy wartość przekazywana przez trasę faktycznie jest metodą w twoim dashboard klasa kontrolera.

Sprawdź również to pytanie i zaakceptowaną odpowiedź: kontrolery routingu w podfolderach - codeigniter Myślę, że stanowi przykład tego, co próbujesz zrobić.