У меня возникла похожая проблема с сообщением об ошибке 404.
Я использую CI 2.0.2, и у меня есть базовый общий хостинг с 1and1, и мой .htaccess находится в корневой директории моего сайта (/mywebsite/.htaccess), и это выглядит так
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>
В моем файле config.php у меня есть следующее:
<?php
$config['base_url'] = 'http://mywebsite.com';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
Неважно, что я делаю, я получаю сообщение об ошибке 404 страница не найдена: http://d.pr/F2KR
Я потратил несколько часов на поиски решения этой проблемы и не смог ее исправить.
Любые предложения, советы или фактический ответ на этот вопрос с благодарностью.
ОБНОВЛЕНИЕ 1:
Я позвонил 1and1, и они сказали мне, что это должно быть проблема с index.php, так как это сообщение об ошибке 404 генерируется CodeIgniter, а не сервером. Есть ли другие значения конфигурации, на которые мне следует обратить внимание?
ОБНОВЛЕНИЕ 2:
Я обнаружил, что существует проблема, чувствительная к регистру (это странно, так как localhost и сервер UNIX / LINUX соответственно), если класс контроллера называется Login, тогда путь должен быть mysite.com/Login/, он не может быть mysite .com / Войти /. Я до сих пор не уверен, как эта проблема будет решена, я не хочу переписывать несколько путей.
ОБНОВЛЕНИЕ 3 (РАЗРЕШЕНО) : Как указано в обновлении 2, проблема заключалась не в .htaccess, а в схеме именования моих моделей и контроллеров, точнее имен файлов. Очевидно, на моем Mac (dev-машине) у меня могут быть модели с именем User.php или Login.php, и я не буду иметь никакого значения, если я буду использовать верхний или нижний регистр в URL, но как только я загрузил свой код в 1and1, я продолжал получать сообщение об ошибке CI « 404 не найдено ». Мое конкретное решение этой проблемы состояло в том, чтобы изменить имена файлов всех моделей и контроллеров на строчные, как предложено в этом посте http://codeigniter.com/forums/viewthread/129013/#636849.