我是Codeigniter的新手我不知道如何使用Codeigniter路由。我在控制器文件夹中创建了Contact.php
,在views文件夹中创建了contact.php
。
在routes.php中我添加了$route['Contact'] = 'controller/contact';
但是当我输入网址http://mytest.dev/contact/时,它显示 404 Page Not Found。找不到您请求的页面。
我想在输入“http://mytest.dev/contact”时会显示联系页面
提前致谢。
答案 0 :(得分:1)
<强>控制器强>
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Contact extends CI_Controller {
function __construct() {
parent::__construct();
}
function index() {
$this->load->view('contact')
}
}
在CI
中,网址中有index.php
(默认情况下)。因此,您可以使用此网址http://mytest.dev/index.php/contact
要将其从URL
中删除,并按照您的要求添加.htaccess
文件在项目目录中
检查this答案
此外,您无需在每次创建新页面后更改routes.php
。保持这样
$route['default_controller'] = 'welcome'; // or contact
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
答案 1 :(得分:0)
我发现您正在使用$route['Contact'] = 'controller/contact';
请告诉我们您的控制器的类名以及您从上面引用的contact()
引用的功能/方法,并且该控制器名称没有意义。您的路线通常也是小写的。
如果您为自己的班级Contact
命名(看起来像这样),那么您需要将.htaccess
文件放在index.php
或base_url
所在的文件夹中(或根目录)然后将application/config.php
中的值移除为$config['index_page'] = '';
,以便您可以从http://mytest.dev/contact
让它更清晰。格式应为$route['AAA'] = 'BBB/CCC';
AAA是您选择的网址路径 BBB是控制器类的名称 CCC是您要显示的页面的功能/方法
如果您没有添加htaccess,则必须将/index.php/
放在首选路径之前。