【发布时间】:2011-08-18 13:05:11
【问题描述】:
我有一个基本的 codeigniter 设置,但无法运行。我以为我已经理解它的工作原理如下:
http://localhost/index.php/class/function
class 指向控制器。
我遇到的问题是我的安装位于这样的子文件夹中:
http://localhost/path%20to%20ci/index.php/class/function
即使控制器类存在,CI 也总是给我一个 404。
我已经深入研究了 CI 源,它告诉我整个请求 URI 被作为输入:
path to ci/index.php/class/function
我需要配置什么来让 CI 自动检测前缀以解析 class 和 function?
我可以甚至是否需要设置基本路径?
具体例子
我的 CI 路径可通过以下方式访问:
http://localhost/workspace/Limesurvey%20CI/index.php
工作控制器是:
http://localhost/workspace/Limesurvey%20CI/index.php/installer
将application/config/config.php中的基本路径设置为:
$config['base_url'] = 'http://localhost/workspace/Limesurvey%20CI/';
根据为该设置提供的文档。
【问题讨论】:
-
看起来您的基本 URL 是正确的。你有
.htaccess文件设置吗?您是否对基本 CI 安装进行了任何其他配置更改?你确定你正在正确地创建一个控制器类吗? -
没有
.htaccess在起作用,基本 CI 安装只是没有改变。我所做的唯一更改是base_url配置。我曾经在index.php中将$application_folder和$system_path设置为一个完整的限定路径名,但恢复了这些更改并且它没有任何区别。控制器由 Limesurvey 应用程序提供,它应该可以工作,我现在将更详细地查看它。 -
好的,我再次尝试解决我在下面评论的致命错误,看起来安装程序控制器正在再次加载配置,这也可能是 CI 应用程序中的一个错误,它阻碍了我了解更多。我会继续挖掘。感谢您迄今为止的详细反馈。
标签: php codeigniter url-routing