URI CodeIgniter'daki yeniden yönlendirme

2 Cevap php

Ben daha iyi URL'LER yapmak için CI URI yeniden yönlendirme kullanıyorum. Burada bir örnek olacaktır:

$route['users/(:any)'] = "users/index/$1";

Burada amaç URL'den indeksi kurtulmak için. Bu iyi çalışıyor. Ancak, örneğin, kullanıcıların denetleyicisi herhangi işlevlere erişmek için edememek beni durdurur

mywebsite.com/users/messages

Sadece users/index yönlendirir. Bu etrafında bir yolu var mı?

2 Cevap

Eğer izin sonra kalan joker maç tutmak isteyen yöntemlerin listesini tanımlayın:

$route['users/(messages|login|something)'] = "users/$1";
$route['users/(:any)'] = "users/index/$1";

Merhaba ben CI ile aşina değilim ama benzer bir yönlendirme sistemi var. (: Any) tüm yakalamak bir tür olarak çalışmaktadır. Benim yönlendirici yönlendirme kuralları denetler zaman tam bir eşleşme bulursa onu kontrol durur. Öyleyse cevabı sadece tüm yakalamak önce başka fonksiyonları rota eklemek olacaktır. Gibi

$route['users']                   = "users/index/";
$route['users/messages/(:any)']   = "users/checkmessages/$1";
$route['users/(:any)']            = "users/$1";

Not sure how CI handles this but i can think of something like the first URL part is the class and the second the function. The router or the controller module should have the intelligence to start calling the function even without the routing table. The routing table should only be used in case of "other callable names" like i did above with the messages/checkmessages thingy.

Nereye gidiyorsun alır umuyoruz.