Мне интересно, что-то не так с моей настройкой CI. Если я загружу base_url т.е. http://localhost/~User/project/
затем он отлично загружается, добавляя index.php перед контроллером по умолчанию. Тем не мение,
мой файл конфигурации имеет
$config['index_page'] = '';
В качестве теста я вернул это значение в index.php. Когда я загрузил base_url после этого, он вернул: http://localhost/~User/project/index.php/index.php/controller/method
Это то, что я должен ожидать? У меня большие проблемы с моим файлом .htaccess, который, похоже, не работает. Я разместил это как отдельный вопрос, если два не связаны между собой.
ОБНОВЛЕНИЕ: у меня теперь работает .htaccess, и index.php исчез, НО ТОЛЬКО ЕСЛИ ТИП ПОЛНЫЙ URL.
Если я просто наберу base_url, он загружает контроллер по умолчанию, но все равно добавляет index.php в строку.
Чтобы уточнить ...
Если я наберу:
http://localhost/~User/project/controller/method
все работает, как и ожидалось, и URL остается точно так же. Точно так же, если я перехожу по относительным ссылкам, то правильные контроллеры и методы загружаются с index.php, появляющимся в URL.
Если, однако, я только наберу:
http://localhost/~User/project
это перенаправляет меня на
http://localhost/~User/project/index.php/controller/method
Контроллер является настройкой по умолчанию, которую я установил в своем конфигурационном файле, и я также установил
$this->config['index_page'] = '';