2013-03-25 59 views
3

我這樣設置笨2:越來越默認控制器上的404錯誤

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

所以這裏默認的控制器是InterviewController代碼

class InterviewController extends CI_Controller{ 
    private $em; 

    function __construct() { 
     parent::__construct(); 
    } 

    public function index() { 
     $commentsList = array(); 
     $commentsList['comments'] = $this->em->getRepository('Entities\Comment')->findPage(1, 10, 'DESC', $this->em->getRepository('Entities\Interview')->getLast()[0]->getId()); 
     $lastInterviewsAnons = array(); 
     $lastInterviewsAnons['lastInterviewsAnons'] = $this->em->getRepository('Entities\Interview')->getLast(); 
     $this->load->view('header'); 
     $this->load->view('navbar'); 
     $this->load->view('content', $lastInterviewsAnons); 
     $this->load->view('addCommentPanel'); 
     $this->load->view('commentsList', $commentsList); 
     $this->load->view('footer'); 
    } 
} 

一切都運行完美在我的本地機器,但在服務器上我得到404錯誤。我只能通過輸入完整的URL像http://mydomain.com/index.php/InterviewController訪問此控制器。看起來像路線文件中的指令不起作用。你可以建議什麼?

+0

檢查你的mod重寫和你的文件名大小寫。你的文件名應該是小寫字母,你的URI也是。 – Timmetje 2013-03-25 10:06:50

+0

mod重寫已啓用。我將我的文件名改爲小寫。將路由規則更改爲$ route ['default_controller'] =「interviewcontroller」;.無論如何,我有404 – 2013-03-25 10:11:05

+0

請發佈與此路由相關的.htaccess文件的內容 – 2013-03-25 10:13:56

回答

5

請檢查您的htaccess文件的重寫代碼。如果沒問題,請嘗試下面的步驟。

1)改變類的名稱,

class Interview extends CI_Controller 

2)文件名到interview.php

3)而在routes.php文件$路線[ 'default_controller'] = 「接受」;

+0

重寫mod是ebanabled。我按照你的建議改變了一切。 Goooood不起作用。現在它與codeigniter演示中使用它的歡迎默認控制器一樣,但歡迎使用,我的控制器 - no – 2013-03-25 10:22:42

+0

同時檢查interview.php文件是否位於正確的位置(應用程序/控制器文件夾),並且所有視圖文件從頁眉到頁腳都是在application/views文件夾中。我知道你可能將它保存在正確的位置,但只需重新檢查。 – Balaji 2013-03-25 10:33:07

+0

瀏覽器正在緩存url。所以它再次加載404。現在一切正常。謝謝,男人 – 2013-03-25 10:55:18