Я использую CodeIgniter для двух приложений (общедоступное и административное приложение). Важными элементами структуры документа являются:
/admin
/admin/.htaccess
/admin/index.html
/application
/application/admin
/application/public
/system
.htaccess
index.php
Файл/admin/.htaccess выглядит следующим образом:
DirectoryIndex index.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
Параметр/admin/index.php имеет следующие изменения:
$system_folder = "../system";
$application_folder = "../application/admin"; (this line exists of course twice)
И файл /application/admin/config/routes.php содержит следующее:
$route['default_controller'] = "welcome";
$route['admin'] = 'welcome';
Приветствие - это мой контроллер по умолчанию.
Когда я вызываю домен /admin, я получаю ошибку 404 Page Not Found. Когда я вызываю домен /admin/welcome, все работает нормально. В журналах отладки появляется следующее сообщение об ошибке:
DEBUG - 2010-09-20 16:27:34 --> Config Class Initialized
DEBUG - 2010-09-20 16:27:34 --> Hooks Class Initialized
DEBUG - 2010-09-20 16:27:34 --> URI Class Initialized
ERROR - 2010-09-20 16:27:34 --> 404 Page Not Found --> admin
Как ни странно, эта настройка отлично работает на моей локальной установке MAMP (с localdomain/admin/), но когда я публикую и тестирую ее на "живом" сервере, я просто получаю 404 ошибки.
Любые идеи? Что я делаю не так? благодаря С.