CodeIgniter 404 未找到控制器
Posted
技术标签:
【中文标题】CodeIgniter 404 未找到控制器【英文标题】:CodeIgniter 404 not found controller 【发布时间】:2016-10-12 10:32:15 【问题描述】:我知道这个问题已经被问过很多次了,但我真的无法解决这个问题。 我的默认控制器正在工作,但如果我想访问另一个控制器,我将遇到 404 问题。
我的控制器文件名大写为 Utilisateur.php,
所以我试图通过<a href="Utilisateur/inscription">inscription</a>
访问控制器功能inscription
这是我的配置:
$config['base_url'] = 'http://localhost:63342/WeBusy/';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
这是我的根:
$route['default_controller'] = 'accueil';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
最后是控制器:
class Utilisateur extends CI_Controller
public function inscription()
$data = array('header' => 'HeaderAccueil.php', 'body' => 'utilisateur/AjoutUtilForm.php');
$this->load->view('Structurehtml.php', $data);
谢谢
【问题讨论】:
在你的函数 inscription() - 删除所有内容并放入 echo 'test'; 那么你就可以真正看到它是路线还是别的什么了。 完成了,我仍然有 404 错误http://localhost:63342/WeBusy/index.php/utilisateur/inscription
有效吗?
【参考方案1】:
给出你的锚点的完整路径
<a href="http://localhost:63342/WeBusy/Utilisateur/inscription">inscription</a>
但最好的做法是提供动态 url,例如使用 url 助手或常量。
例如,如果使用 url 辅助函数,您的锚路径就像。
<a href="<?php echo site_url(); ?>Utilisateur/inscription">inscription</a>
不要忘记在自动加载文件或类构造函数中加载 url 帮助程序。
【讨论】:
谢谢,但考虑到我在点击链接时已经有了正确的路径 (localhost:63342/WeBusy/Utilisateur/inscription),这并不能解决任何问题。【参考方案2】:我发现了问题, 所以我需要在应用程序的根目录中创建一个 .htaccess 文件以删除 index.php 并且这仍然不适用于 phpstorm,也许需要配置一些东西,但它在 EasyPhp 上运行顺利:)
【讨论】:
【参考方案3】:-
检查您的控制器文件名,应该是 Utilisateur.php (ucfirst)。
检查您的 mod_rewrite 是否有效:
-
http://localhost:63342/WeBusy/index.php?q=utilisateur/inscription
将新方法 index() die('test'); 添加到 Utilisateur 控制器并更改 $route['default_controller'] = 'accueil';至:$route['default_controller'] = 'utilisateur';
【讨论】:
以上是关于CodeIgniter 404 未找到控制器的主要内容,如果未能解决你的问题,请参考以下文章
后控制器挂钩不会在 codeigniter 中未找到的控制器上抛出 404
为啥我在 codeigniter 中的分页不起作用? (404 未找到)
在远程服务器上配置 codeigniter(404 未找到)