CodeIgniter'daki varsayılan Contoller

3 Cevap php

Varsayılan bir kontrol için herhangi bir başka yapılandırma seçenekleri olup olmadığını merak ediyorum.

Örneğin - ben "site" denilen bir denetleyicisi var ve ben aşağıdaki dosyaya varsayılan denetleyicisi ayarlarsanız: application / config / routes.php için:

$route['default_controller'] = "site";

I should be able to go to http://localhost and that brings up the index(); function in the site controller.

Benim yapmaya çalıştığım Ancak, http://localhost/index.php/index2 Ben bir 404 hatası alıyorum index2(); fonksiyonunu yüklemek için gidin. Ben URL'yi değiştirirseniz http://localhost/index.php/site/index2 iyi çalışıyor - ama zaten varsayılan kontrolörü set düşündüm. Bu etrafında herhangi bir yolu var mı?

3 Cevap

Bunu yapmak için tek yolu elle yönlendirme kuralı yazıyor:

$route['index2'] = "site/index2";

Bunu yapamazsın.

Default_controller only any tanım parametre olmadan URL'ler içindir. Nasıl CodeIgniter bir yöntem adı ve denetleyici adı ayırt edebilir?

What you can do: define a redirect inside your 404 document or directly map your 404 document to index.php

Hayır CI ilk parametre bu durumda kontrollü bir sözde "endeksi2" oluşturmak zorunda diye bir denetleyici, bir adı olması gerektiğini böyle çalışmaz.