2015-10-09 44 views
1

我正在尝试使用Codeigniter制作Web应用程序。但我无法浏览我的网页。例如:我希望页面employee_view中的按钮导航到employeecontroller/addEmployee。我在internet/stackoverflow上搜索了几个小时。试了一下,有5个各种错误消息。我厌倦了搜索,并希望有人能帮助我:)Codeigniter找不到控制器功能404找不到

这里是我的工作区和代码的PIC:

Image Link here

我的路线。 PHP:

$route['default_controller'] = 'EmployeeController'; 
$route['404_override'] = ''; 
$route['translate_uri_dashes'] = FALSE; 
$route['EmployeeController/addEmployee'] = 'EmployeeController/addEmployee'; 
$route['EmployeeController/createEmployee'] = 'EmployeeController/createEmployee'; 
$route['EmployeeController'] = 'application/controllers/EmployeeController'; 

在config.php我有:

$config['base_url'] = 'http://localhost:8888/BoMaTec_afstudeerproject/CodeIgniter-3.0.1/'; 

$config['index_page'] = ''; 

我ht.acces文件: [IMG] http://i58.tinypic.com/euq2vk.png[/IMG]

+0

这里是路由用户指南http://www.codeigniter.com/user_guide/general/routing.html – user4419336

+0

在你的'.htaccess'文件中是FOLDER_NAME写的还是实际的目录名? – Tpojka

+0

我不知道..我需要在ht.acces文件中写什么? – belgiums

回答

1

我相信您使用笨3.

在codeigniter 3控制器文件名必须有的第一个字母大写,然后其余的小写。

如果控制器名称是EmployeeController我想改名字

文件名:Employee_controller.php

class Employee_controller extends CI_Controller { 

} 

然后在路线:http://www.codeigniter.com/user_guide/general/routing.html

注:默认的控制器必须在application/controllers/Employee_controller.php default_controller不能与所有其他路径的子文件夹一起工作。

$route['default_controller'] = 'employee_controller'; 
$route['employee/addEmployee'] 'employee_controller/addEmployee'; 
$route['employee/createEmployee'] = 'employee_controller/createEmployee'; 
$route['employee'] = 'employee_controller'; 

URL例

http://localhost:8888/BoMaTec_afstudeerproject/CodeIgniter-3.0.1/employee 

或者

http://localhost:8888/BoMaTec_afstudeerproject/CodeIgniter-3.0.1/index.php/employee 

而就自动加载最常见的助手使用的是

$autoload['helper'] = array('url', 'form', 'text'); 
+0

文件名应该是“employee_controller.php” – Tiger

+0

@Tigger in codeigniter 3第一个字母应该是大写的类和文件名。 – user4419336

+0

我不太了解CI 3.X版本,但我认为在旧版本中,它以小写字母 – Tiger

0

控制器名称应该像Employeecontroller的类名不能包含多于一个大写字母。

而在你的路线应该是:

$route['default_controller'] = 'employeecontroller'; 
1

config.php

$config['base_url'] = ''; 
$config['index_page'] = ''; 

更改这个在控制器

文件名 - employee.php

内部的

<?php 

    if (!defined('BASEPATH')) 
     exit('No direct script access allowed'); 

    class Employee extends CI_Controller { 

     public function index() 
     { 
      # code... 
     } 

     public function addEmployee() 
     { 
      # code... 
     } 

    } 

autoload.php

$autoload['helper'] = array('url'); 

<form>action应该

<form action="<?php echo base_url()?>employee/addEmployee" method="post"> 

</form> 

这将炒锅精细

编辑01

将此放在.htaccess

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule> 
+0

route.php中的内容?仍然得到一个错误请求的网址找不到 – belgiums

+0

你是否把.htaccess文件? –

+0

我在原始问题 – belgiums

5

确保所有关闭你的控制器类文件名的第一个字母为大写。