В CodeIgniter контроллер по умолчанию всегда загружается - PullRequest
0 голосов
/ 27 апреля 2011

Я пытаюсь перенести приложение CI 1.7.2 в 2.0.2.Я дошел до того, что мой контроллер по умолчанию и страница загружены правильно.Yey!

Однако контроллер по умолчанию - это все, что когда-либо загружалось.Пример:

myapp/ -> loads default controller (one)
myapp/one -> loads default controller (one)
myapp/two -> loads default controller (one)
myapp/three -> loads default controller (one)

Мой .htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule> 

Мой config.php:

$config['base_url'] = 'http://localhost/myapp/branches/Source%20Code/';
$config['index_page']     = '';
$config['uri_protocol']   = 'QUERY_STRING'; 

Кстати, я попробовал вседругие возможные значения для URI PROTOCOL, и они дают мне “The page you requested was not found.”

Наконец, мой routes.php:

$route['default_controller'] = "one"; 

Я также попытался изменить default_controller на «два», и он корректно загружается«два» контроллера.Но когда default_controller равен «one» и я вписываю «myapp / two» в адресную строку, он все равно загружает «one»

Что мне не хватает?:)

Ответы [ 2 ]

2 голосов
/ 27 апреля 2011

Похоже на проблему с htaccess.Попробуйте изменить свой мод переписать на это:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /myapp/index.php/$1 [L]
</IfModule>

, а затем измените $config['uri_protocol'] на AUTO.

0 голосов
/ 27 июня 2012

Я думаю, что uri_protocol => 'PATH_INFO' не поддерживается

Итак, измените попытку на

$ config ['uri_protocol'] = 'QUERY_STRING'; // application / config / config.php

затем, в вашем .htaccess измените

RewriteRule (. *) Index.php / $ 1 [L]

до

RewriteRule ^ (. *) $ Index.php? $ 1 [L]

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