2013-03-06 80 views
0

我已經在目錄中我的本地XAMPP服務器上安裝笨:CodeIgniter的基於服務器的404

localhost/CI/ 

當我訪問該目錄直接我能看到的網頁,但是當我嘗試訪問次數其他任何網頁我得到一個基於404頁面的服務器。我沒有看到CI 404.

我已經試過玩uri_protocol,但我無法得到它的工作。任何線索?

routes.php文件

$route['page/create'] = 'page/create'; 
$route['(:any)'] = 'page/view/$1'; 
$route['default_controller'] = 'page/view/hello-world'; 
$route['404_override'] = ''; 

頁面控制器

class Page extends CI_Controller { 

    public function __construct() 
    { 
     parent::__construct(); 
     $this->load->model('page_model'); 
    } 

    public function view($slug) 
    { 
     $data['page'] = $this->page_model->get_page($slug); 

     if (empty($data['page'])) 
     { 
      show_404(); 
     } 

     $data['title'] = $data['page']['title']; 

     $this->load->view('templates/header', $data); 
     $this->load->view('page/view', $data); 
     $this->load->view('templates/footer'); 
    } 

    public function create() 
    { 
     $this->load->helper('form'); 
     $this->load->library('form_validation'); 

     $data['title'] = 'Create a new page'; 

     $this->form_validation->set_rules('title', 'Title', 'required'); 

     if ($this->form_validation->run() === FALSE) 
     { 
      $this->load->view('templates/header', $data); 
      $this->load->view('page/create'); 
      $this->load->view('templates/footer'); 
     } 
     else 
     { 
      $this->page_model->set_page(); 
      $this->load->view('page/success'); 
     } 
    } 
} 

的 「世界,你好!」很好地顯示,但我無法讓創建頁面工作。該視圖位於views/page/create.php

+2

你使用mod_rewrite嗎?如果是這樣,你的.htaccess是什麼樣的?你能否以這種格式訪問其他頁面:'localhost/CI/index.php/controller/method'? – Mudshark 2013-03-06 12:58:57

+0

如果我嘗試以該格式訪問其他頁面,則會出現CI 404錯誤。我在上面的問題中添加了更多內容。 – user2019515 2013-03-06 13:04:15

+0

因爲第二種格式起作用,所以沒有'mod_rewrite'。我們需要更多代碼來查看。 routes.php,返回404的控制器代碼? – Mudshark 2013-03-06 13:08:09

回答

1

xampp !!!!是模式rewite不做工精細婦女參與發展它的問題..安裝Apache作爲一個獨立的,添加PHP和MySQL,你可以正常工作的任何方式會引起其他錯誤回報

$route['default_controller'] = 'page/view/hello-world'; 

變化,要

$route['default_controller'] = 'page'; 

然後將其移動到頂部,這樣你有

$route['default_controller'] = 'page'; 
$route['404_override'] = ''; 
    $route['page/create'] = 'page/create'; 
$route['(:any)'] = 'pages/view/$1'; 

事物的秩序是routes.php文件內inportant

and inside page.php控制器添加一個函數索引()

+0

我已經完成了我的安裝的CodeIgniter教程,並且工作正常。 – user2019515 2013-03-07 13:55:41

+0

在普通的apache或websterver上嘗試一下,因爲無論如何,如果你打算在活服務器上發佈它,在真正的服務器上開發的不是xampp,而是爲模板添加任何方式,我在你的代碼中添加了3個視圖嘗試使用partials http://codeigniter.tv/a-15/Codeigniter-layouts-and-partial-views – ddjikic 2013-03-07 19:14:16

+0

感謝您的鏈接,我會看看它,聽起來很有希望。 – user2019515 2013-03-07 19:16:24