У меня есть веб-сайт, который я построил на codeiginiter 2.0.1 (мой личный сайт). Я создал это приложение локально, используя WAMP, и оно работает на 100%, как и должно (Локально). Я загрузил это на свой действующий сервер, и я получаю ошибку «404 страница не найдена». Эта ошибка исходит от codeigniter через мой метод Home-> Error, а не с сервера, поэтому воспламенитель кода определенно работает.
Вот мой конфиг маршрутов. Если я изменю 404_override на «Домой». Он загружает мой домашний контроллер как надо, но когда я перехожу на ЛЮБУЮ страницу, я получаю страницу 404 не найденной.
$route['default_controller'] = 'Home';
$route['404_override'] = 'Home/Error';
Я подозреваю, что это может быть связано с моей конфигурацией .htaccess & Codeigniter.
// Codeigniter Config.php - Note: My Hosting is with Godaddy. [CGI/FastCGI]
$config['index_page'] = 'index.php?';
// Tried Auto and All others, REQUEST_URI works fastest for me.
$config['uri_protocol'] = 'REQUEST_URI';
Мой .htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [L]
Я попробовал так много ссылок через SO & Google, чтобы исправить это, те, которые я пытался повторить, приведены ниже.
- CodeIgniter 404 Страница не найдена, но почему?
- кодовый указатель 404 на существующем контроллере
- http://codeigniter.com/forums/viewthread/60469/#297477
- http://codeigniter.com/wiki/Godaddy_Installaton_Tips
- Среди многих других
Я уверен, что это связано с htaccess и mod_rewrite, есть идеи?
Обновление
Если я заменю
$route['404_override'] = 'Home/Error'
на любой из моих контроллеров, они будут отображаться и работать как положено, но по какой-то причине он всегда выдает страницу 404.
Если я перейду к: /index.php/home
- я получу ошибку No input file specified.