2016-09-21 56 views
5

php codeigniter'da bir proje geliştirdim. Proje neredeyse tamamlandı ancak şimdi yöneticim, URL'deki kontrolör adlarını tamamen kaldırmamı veya gizlememi istiyor. Benim geçerli URL şuna benzer:Denetleyici adını URL'de kaldırmak veya gizlemek için herhangi bir yolu var mı? codeigniter

http://www.sitename.com/Controller_Name/function_name

ve benim yöneticisi bu gibi görünmek istediği: Ben 10'dan fazla olması

http://www.sitename.com/function_name

Not

projemdeki kontrolörler ve birçok fonksiyon. Herkes için geçerli bir yöntem istiyorum. YARDIM LÜTFEN.

+0

url yeniden yazmayı kullanabilirsiniz –

+0

Bunu kontrol ettiniz mi: http://stackoverflow.com/questions/12863095/how-to-remove-controller-name-from-url-making-it-clean-in-codeigniter ...? –

+0

Yapabilirsin, ama senin durumunda, herkes için geçerli olan bir yöntemi kullanabileceğini sanmıyorum ... – Kamae

cevap

7

Bunu $route kullanarak yapabilirsiniz.

yalnızca bir Controller ve bu denetleyicisi varsa tüm functions böyle bir şey yazabilirsiniz: Eğer her function Ne denetleyici işaret etmek için belirtmek gerekir birçok Controllers varsa

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

. Şunun gibi: application/config/routes.php:

$route['function1'] = "Controller_Name1/function1"; 
$route['function2'] = "Controller_Name1/function2"; 
$route['function3'] = "Controller_Name3/function3"; 

Ve $route

Bu $route dizi burada yer almalıdır içinde tekrarlar olamaz.

Burada CI belgelere yolları hakkında daha fazla kontrol edebilirsiniz: https://www.codeigniter.com/userguide3/general/routing.html Sen yolları

$ güzergahı aşağıda [ 'işlev_adı'] = 'controller_name gibi dosya içinde Denetleyiciniz ve yöntem adı belirtmek zorunda

1

/fonksiyon adı';

Sen iki avantaj

olsun yapıyor controller.By her bir işlev için bu yazmak zorunda onun adı only.No ihtiyacıyla bazı yöntemini çağırabilirsiniz 2) 1) Denetleyici adı url gizlenir

denetleyici adını her seferinde kullanmak.