CodeIgniter не разбирает php в пустом пути
При доступе к моему проекту CodeIngniter на моей станции разработки все работает как положено, но как только я загружаю его на сервер (Dreamhost), он запускает загрузку index.php в виде простого текста, когда я не указываю путь к параметру.
(home является контроллером по умолчанию)
Пример: "site.com/home"
правильно показывает сайт.
Пример: "site.com/asd"
Правильно выдает 404 Not Found.
Пример: "site.com"
скачать index.php
Мое правило переписывания выглядит следующим образом (довольно стандартно для CI на Dreamhost):
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|humans\.txt|robots\.txt)
RewriteRule ^(.*)$ /index.php?/$1 [L]
Любая идея?
2 ответа
Это работает для меня - CI 2.1 (и я на Dreamhost):
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]
Во-первых, попробуйте удалить правила перезаписи (или, что еще лучше, полностью удалите.htaccess). Это позволит вам увидеть, не нарушают ли вас правила переписывания у вашего провайдера.
Если вам по-прежнему предлагается загрузить файл index.php при входе в корневой каталог документа с помощью браузера, это, вероятно, связано с настройкой вашего хостинга.