2013-03-06 41 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