【发布时间】:2013-02-21 06:40:10
【问题描述】:
我已经在我的本地 xampp 服务器上的目录中安装了 CodeIgniter:
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
【问题讨论】:
-
你使用 mod_rewrite 吗?如果是这样,您的 .htaccess 是什么样的?你能以这种格式访问其他页面吗:
localhost/CI/index.php/controller/method? -
如果我尝试访问该格式的其他页面,我会收到 CI 404 错误。我在上面的问题中添加了更多内容。
-
所以没有
mod_rewrite,因为第二种格式有效。我们需要更多代码来查看。 routes.php,返回 404 的控制器代码? -
你的控制器叫什么名字?
-
@FabioAntunes "Pag" 我在上面添加了代码
标签: codeigniter xampp http-status-code-404