【问题标题】:Code igniter routes making internal server errorCodeigniter 路由导致内部服务器错误
【发布时间】:2013-08-31 15:22:47
【问题描述】:

被困在这个问题上好几个小时了,希望这不是一件简单的事情。

所以我正在尝试使用以下代码将 3 个变量从一个 URL 路由到另一个 URL:

$route['activate_email/(:any)/(:any)/(:any)'] = "user/activate/$1/$2/$3";

和用户控制器代码:

public function activate($code='', $email='', $id=''){
    die("1");
    //Check vars
    if(empty($code) || empty($email) || empty($id) || !is_numeric(ceil($id))){
        die("BAD");         
    }

    //Check details in DB
    $result = $this->db->query("SELECT * FROM `companies` WHERE `id` = ?", array($id))->result_array();

    print_r($result);
    exit;


}

结果:

内部服务器错误

服务器遇到内部错误或配置错误,无法完成您的请求。

请联系服务器管理员 cgiadmin@yourhostingaccount.com 并告知他们错误发生的时间,以及您所做的任何可能导致错误的事情。

服务器错误日志中可能会提供有关此错误的更多信息。

此外,在尝试使用 ErrorDocument 处理请求时遇到 500 Internal Server Error 错误。 感谢您的帮助

【问题讨论】:

  • 当您在 .htaccess 文件中执行错误时,可能会发生内部服务器错误。你设置了吗?里面有什么?
  • 当你在函数中使用 die() 时,后面的代码永远不会被执行.. 那么如何检查你的变量呢?
  • @lollo 他甚至无法从die() 获得"1"。他的问题不在于变量,他得到一个内部服务器错误......
  • 对不起.. 现在我认为它是用于调试的.... @user1977434 你确定你将浮点值传递给ceil() 函数吗?

标签: php codeigniter routes


【解决方案1】:

可能是 .htaccess 问题。尝试将此代码放入您的 .htaccess 中并试一试?

重写规则 ^(.*)$ index.php/$1 [L]

还可以尝试在配置文件 config['log_threshold'] 中将此选项设置为 4 并检查问题的确切来源?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 2016-01-28
    • 1970-01-01
    • 2019-07-19
    相关资源
    最近更新 更多