1

关于 codeigniter routes.php :

我们在 C:\wamp\www\application\config\routes.php 中有以下条目

$route['default_controller'] = 'latestC';
$route['404_override'] = 'latestC';

latestC 是我们的默认控制器。这里 default_controller 在生产中不起作用。如果我们删除线 $route['404_override'] = 'latestC'; 从routes.php,我们在点击主url mozvo.com 及其404 时无法访问主页。基本上404_override 为我们工作,而不是default_controller 在点击mozvo.com 时进入主页。请求通过 404_override 控制器路由到主页。

但在 localhost 中,它运行良好。在 localhost 中,如果我们删除 404_controller,default_controller 会处理主 url(mozvo.com,此处为 localhost),其他不受支持的 url 是 404,这是正确的。但是在生产中 default_controller 没有正确地进入主页(mozvo.com),所以我们被迫使用 404_override 将默认请求带到主页。

附加信息 - C:\wamp\www\application\config\config.php 中的条目

$config['base_url']    = 'http://mozvo.com/';
$config['index_page'] = '';
4

1 回答 1

8

我敢打赌,这个问题是由于文件区分大小写。您的本地主机在 WAMP 上 - Windows 不关心文件案例。

即 latestC.php = latestc.php = LASTESTC.php

但是在您的生产服务器上(我猜是 LAMP)-区分大小写很重要

即 latestC.php != latestc.php != LASTESTC.php

对于 Codeigniter,您的所有控制器都必须为小写。因此,将您的路线更改为

$route['default_controller'] = 'latestc'; // all lowercase
$route['404_override'] = 'latestc'; //all lowercase

并确保你所有的文件都是小写的

于 2012-06-09T13:22:07.283 回答