【发布时间】:2011-04-27 05:53:33
【问题描述】:
我正在尝试将我的 CI 1.7.2 应用程序迁移到 2.0.2。我已经到了可以正确加载默认控制器和页面的地步。耶!
但是,默认控制器是所有已加载的。示例:
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 更改为“two”,它正确加载了“two”控制器。但是当 default_controller 为“one”并且我在地址栏中输入“myapp/two”时,它仍然加载“one”
我错过了什么? :)
【问题讨论】:
-
重要问题:到目前为止,您是否关注 all upgrade steps?这个问题听起来有点熟悉,我认为使用 Codeigniter 很简单......
-
根据这个帖子codeigniter.com/forums/viewthread/187501,在官方论坛,你已经解决了吗?
-
@Repox:是的,但解决方案与我希望的不同。我不习惯使用 QUERY_STRING。我正在寻找类似于下面 tgriesser 的答案。
-
你为什么对此感到“不舒服”?这似乎不合逻辑。
标签: php codeigniter