Próbuję zrobić, aby moja aplikacja CodeIgniter działała podobnie do WordPress.Routing w CodeIgniter dla (: any)
Chcę być w stanie dokonać tego rodzaju URL:
http://www.example.com/my-post-example
http://www.example.com/new-headline-here
http://www.example.com/i-love-stackoverflow
Moja routingu:
$route['(:any)'] = "core/index/$1";
które będą wymagały mojego wnętrza kontroler i przekazać nazwę strony do funkcji indeksu.
Potem odnośnika w mojej bazy danych dla nazwy strony i wyświetlić stronę do użytkownika. Jak na razie dobrze.
Jednak nie będzie wtedy, gdy chcę zadzwonić innego kontrolera. Na przykład:
http://www.example.com/admin/edit_page/3
http://www.example.com/admin/settings
Teraz zakładam moja trasa będzie po prostu złapać wszystkie te zasady i wysłać je do mojego kontrolera podstawowej. Czy istnieje sposób na zrobienie wyjątku dla niektórych stron? Czy jest to dobry pomysł, aby to sprawdzić w moim kontrolerze Core.
Na przykład
if ($page not in DB) {
// Call controller/method
}
To wydaje się nieco zbędny, ponieważ ja po prostu chcę CodeIgniter sobie z tym poradzić.
Dzięki! Czy istnieje sposób na dopasowanie dowolnego wzorca URL? W tym z /? Więc admin/edit/lol/również przejdzie do core/index? Czy musiałbym dodawać (: any)/(: any)/(: any) przez cały czas? – Oliwol
dodaj kolejną regułę przed '$ route ['(: any)'] =" core/index/$ 1 ";' rule '$ route ['admin/edit/lol'] =" core/index ";' –
Co jeśli chcę przekierować dowolne dane do funkcji, takie jak: admin/edit/lol => core/index, a także admin/new/test => core/index. Czy istnieje lepszy sposób niż dodawanie poszczególnych reguł?Podobnie jak route ['admin/(: any)/(: any)'] - ale z potencjałem dodania trzeciego, czwartego i piątego do nieskończoności. – Oliwol