codeigniter, удаляющий index.php (возможная проблема с хостом) - PullRequest
1 голос
/ 04 февраля 2011

Привет всем У меня возникли некоторые проблемы при удалении index.php в CodeIgniter.

Я создал свое приложение локально, и оно работает нормально, но когда я загрузил его, удаление index.php, кажется, не работает,

У меня такое чувство, что это может быть связано с моим хозяином, это не самое лучшее, и у меня были проблемы раньше.Он размещен на Fatcow.

Итак.

Все мои файлы CodeIgniter находятся в подкаталоге outfitr.например,

<root>/outfitr/

У меня есть файл .htaccess, расположенный в этой папке со следующими данными, взятыми из вики CI:

EDITED

RewriteEngine On
RewriteBase /outfitr/

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

изменения в моем config.php выглядят следующим образом.Я включил строки запроса, так как они мне нужны для раздела моего приложения.

$config['base_url'] = "<host>.com/outfitr/";
$config['index_page'] = "";

...

$config['uri_protocol'] = "PATH_INFO";
$config['enable_query_strings'] = TRUE;

Любая помощь будет отличной.Как я уже сказал, я думаю, что это может иметь какое-то отношение к хозяину Fatcow.

Я протестировал mod_rewrite, следуя инструкциям на следующей странице, и он, кажется, включен.http://www.wallpaperama.com/forums/how-to-test-check-if-mod-rewrite-is-enabled-t40.html

Ответы [ 2 ]

3 голосов
/ 04 февраля 2011

хорошо, так что после некоторых проб и ошибок я, наконец, получил его работать.Я настраиваю свой файл .htaccess следующим образом.Обратите внимание '?'в RewriteRule.

RewriteEngine On
RewriteBase /outfitr/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]

Затем в config.php я устанавливаю

$config['uri_protocol'] = 'REQUEST_URI';

Думаю, это связано с тем, как некоторые хосты настраивают свой модуль mod_rewrite.Dreamhost и hostgator имеют ту же проблему.

0 голосов
/ 04 февраля 2011

http://codeigniter.com/wiki/mod_rewrite/

  1. Если ваша установка находится не в корневом каталоге сервера, вам нужно изменить строку RewriteBase с «RewriteBase /» на «RewriteBase / folder /»

Текущий ваш .htaccess перенаправляет все запросы в /index.php, которого, как вы сами сказали, там нет. Вы хотите, чтобы они направили в /outfitr/index.php.

Вы можете сделать это, изменив RewriteBase / outfitr /

Если нет, просьба дать более подробную информацию.

...