Как заставить работать CodeIgniter на хостинге DreamHost

Для этого мне пришлось поковыряться в интернете и перепробовать несколько вариантов. В итоге нашёл работающее решение:

  1. В system/application/config/config.php прописываем:
    $config[‘uri_protocol’] = "QUERY_STRING";
  2. В .htaccess должно быть примерно такое (в строке 2 прописываем нужные директории и файлы, находящиеся в корне; в строке 3 можно указать путь, главное – не забыть знак вопроса перед слэшем):
    RewriteEngine on
    RewriteCond $1 !^(index\.php|images|logs|js|robots\.txt)
    RewriteRule ^(.*)$ /path/index.php?/$1 [L]
  3. Не забыть установить права на запись на папки с логами, а если используется Smarty – то и на папки с кэшем и “скомпилированными” шаблонами.

P.S. Пишу это не столько для читателей блога, сколько для себя 🙂