PHP-CodeIgniter不会在’/’上加载默认控制器
我在Nginx中使用CodeIgniter. 这是我的routes.php:
我也尝试注释所有路由,但默认路由仍被忽略.不过,如果我输入http://francescoruvolo.it/Pages/show或http://francescoruvolo.it/en,则控制器加载正常并且可以正常工作.许多人有类似的问题,因为他们错过了为类强制使用大写名称的部分,但事实并非如此,因为我的控制器名称已经固定. 这些是config.php中的参数:
Nginx看起来可以正确地将所有请求转发到index.php,实际上,在显式加载控制器时不需要指定它.无论如何,这些行是我的Nginx主机配置的一部分:
我没有得到的是,我实际上能够获得两种不同的404页面.例如,如果我转到http://francescoruvolo.it/nonexistent.php,Nginx会正确地为我提供404页面.同时,如果我未指定任何路径或未明确指定index.php,则会得到404“格式正确”,这意味着CodeIgniter的index.php已实际运行,但无法加载控制器. 我想念什么?我还能检查什么? 最佳答案
解决了.显然,在默认路由的末尾有一个多余的(不需要的)/.
这是错误的:
这是对的:
不过,我不太明白为什么.实际上,如果我显式加载控制器,即使有额外的斜杠它也可以工作. 如果有人对此进行解释,我会很乐意接受他的回答. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |