1

描述

我有一个网站“searchnwork.com”。它使用 CodeIgniter。主页外的每个页面都可以正常加载。

如果您访问 searchnwork.com,它会显示 CI 404 错误页面。

如果您访问 searchnwork.com/index.php/users,它会显示 UserSignUpController 页面,这很好。

如果我设置$route['404_override'] = 'UserSignUpController',我仍然会得到 404。

在我的本地服务器上一切正常。


问题

尽管覆盖,为什么我得到了 searchnwork.com 的 404?

为什么我首先得到的是 searchnwork.com 的 404 而不是我的默认控制器?


代码

$route['users'] = "UserSignUpController"; // This loads fine.
$route['default_controller'] = "UserSignUpController"; // This gives a 404...
$route['404_override'] = 'UserSignUpController'; // This doesn't redirect...
4

2 回答 2

1

区分大小写的文件名。

在 MAMP 上,它似乎并不关心大小写。当我上传到实际的 linux 服务器时,CapitalizedFileNames 开始失败,因为它只搜索小写文件名。我想你应该使用下划线。

奇怪的是它只对 index.php 失败。

于 2013-08-16T16:52:55.880 回答
0

您需要.htaccess在服务器根目录上安装

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

还要确保您/application/config/config.php的设置正确(这些可以留空并且仍然可以正常工作)

$config['base_url'] = '';
$config['index_page'] = '';
于 2013-08-15T17:49:27.143 回答