Kod Ateşleyici Fonksiyon Çağrı 404

6 Cevap php

Ben bir engele vurduğunuzda ben resmi Kod Ateşleyici öğretici geçiyor ...

tutorial bana bu kodu kaydetmek ve çalıştırmak vardı:

<?php
class Blog extends Controller {

     function index()
     {
         echo 'Hello World!';
     }

     function comments()
     {
         echo 'Look at this!';
     }
}
?>

Ben aşağıdaki URL'yi girin IF:

index.php/blog

çalışıyor ve görüntüler "Merhaba Dünya!".

Ben şöyle bir yorum görüntülemek için URL'yi değiştirmek zaman:

index.php/blog/comments/

Ben bir 404 olsun.

6 Cevap

Ben o oluyordu neden olarak iyi bir cevap olmadan bu eski yazı geldi. Ben de seni yaptım, aynı açık hata geldi ve bunu düzeltmek için mücadele edildi. Ben sorun, önceki CI örneklerde kuruldu yönlendirme geldi gerçekleşmiştir. Ben config / routes.php içine aşağıdaki satırı eklendi sürece benim sayfa tüm çalışma değildi:

$['blog'] = 'blog';

Çünkü zaten root için bağımsız olarak, batmıştı ne başka bir şey, gördüğü bu çizgi şudur:

$route['(:any)'] = 'pages/view/$1';

Eğer yukarıdaki satırı kaldırırsanız önceki dökümanında olduğu gibi, tüm iş, kök hariç artık çalışmaz olacak. Sanırım denetleyici içinde işlevleri çağırabilirsiniz böylece de aşağıdaki satırı eklemek zorunda:

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

Eklenen bu iki ikisinin ile, kök arama işlevleri ve henüz aynı zamanda bir "blog" çalışma denetleyicisi olabilir.

Varsayılan olarak, örnek çalışması gerekir. Sizin örnek olarak yapılandırmaları incelemek ve çıkarın. Htaccess mod_rewrite kullanarak değil.

Sıfırdan başlamak da öğrenmenize yardımcı olur ;)

Bir eklerseniz? index.php sonra çalışır?

http://example.com/index.php?/blog/comments

Bu $ config ['uri_protocol'] application / config / config.php seçenekleri bazı denemeye her zaman değer.

/*
|--------------------------------------------------------------------------
| URI PROTOCOL
|--------------------------------------------------------------------------
|
| This item determines which server global should be used to retrieve the
| URI string.  The default setting of "AUTO" works for most servers.
| If your links do not seem to work, try one of the other delicious flavors:
|
| 'AUTO'    		Default - auto detects
| 'PATH_INFO'   	Uses the PATH_INFO
| 'QUERY_STRING'    Uses the QUERY_STRING
| 'REQUEST_URI' 	Uses the REQUEST_URI
| 'ORIG_PATH_INFO'  Uses the ORIG_PATH_INFO
|
*/
$config['uri_protocol'] = 'AUTO';

Bazı sunucular farklı seçenekler ile sorunları var, bu yüzden elle her deneyin. Bu durumda çalışmıyor olabilir ama geçmişte benim için günü kurtardı.

Ben bir dosya güncelleme mesele.

Ben aynı problem vardı. Ben son kaldığınız} - Ben biri benim ilk fonksiyonu kapalı asla sona erdi. Yani yakın değil mi fonksiyon iyi çalıştı ama bundan sonra her şey bana 404 veren tuttu.