Настройка Codeigniter - PullRequest
       16

Настройка Codeigniter

0 голосов
/ 31 августа 2010

Мне интересно, что-то не так с моей настройкой 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'] = '';

Ответы [ 3 ]

0 голосов
/ 01 сентября 2010

Попробуйте использовать следующий файл .htaccess, он никогда меня не подводил:

<IfModule mod_rewrite.c>

        Options +FollowSymLinks
        RewriteEngine on

        # Send request via index.php (again, not if its a real file or folder)
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d

        <IfModule mod_php5.c>
                RewriteRule ^(.*)$ index.php/$1 [L]
        </IfModule>

        <IfModule !mod_php5.c>
                RewriteRule ^(.*)$ index.php?/$1 [L]
        </IfModule>

</IfModule>
0 голосов
/ 02 сентября 2010

решено:

Хорошо, это заставляет меня чувствовать себя действительно глупо, но я нашел причину проблемы.У меня была функция перенаправления, спрятанная в MY_Controller, о которой я полностью забыл.Поскольку ранее я не мог заставить работать .htaccess, я жестко запрограммировал перенаправление, чтобы включить index.php.Теперь все работает как надо.Мы приносим извинения за то, что напрасно тратили ваше время на решение проблемы, которой не было!

0 голосов
/ 31 августа 2010

Следовали ли вы этому руководству письму?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...