【发布时间】:2013-05-14 19:08:41
【问题描述】:
我正在使用 CodeIgniter 1.9 构建网站。
我希望http://myurl.com/index.php/user/profile/2 将我带到 ID 为 2 的用户的个人资料页面。
我的 routes.php 文件如下所示。
$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['user/profile/(:num)'] = 'user/profile_view/$1';
我的 user.php 文件如下所示。
class User extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->model('user_model');
}
function profile_view($id)
{
$data = array();
log_message("info", "I am in the profile_view method of user.php.");
$this->load->view("templates/header", $data);
$this->load->view("templates/footer", $data);
}
}
代码永远不会进入 log_message() 函数,它会抛出一个 500 错误,正是这样......
HTTP 错误 500(内部服务器错误):出现意外情况 在服务器尝试完成请求时遇到。
任何帮助将不胜感激。我已经找了几个小时没有运气了。
【问题讨论】:
-
apache/webserver 日志中的任何内容?你在用 htaccess 吗?
-
完整性检查:未路由的 URL 是否有效?
http://myurl.com/index.php/user/profile_view/2我怀疑这个问题是否与路由直接相关。 -
不,未路由的 URL 不起作用。我假设这是一个路由问题,因为其他路由正在工作。代码可以正常进行路由(我在路由之前进行了 log_message 调用)。但是,它没有到达控制器。
-
我在我的个人笔记本电脑上运行 Ubuntu 12.04,安装了标准的 apache、MySQL、PHP。我没有对 htaccess 做任何修改。我已将 CodeIgniter 代码放入 /var/www 文件夹,并通过转到“localhost/index.php” 运行该站点
-
确保错误报告正确开启(在 PHP.ini、index.php 等中)。 500 错误可能是因为 PHP 错误。还要检查您的错误日志。
标签: php codeigniter routing