我在我的项目中使用REST_Controller CodeIgniter库。
我有一个无法访问的登录post方法,因为REST_Controller将方法设置为 GET ,即使我执行 POST 。
以下是我的 Auth.php 控制器的片段:
defined('BASEPATH') OR exit('No direct script access allowed');
require_once APPPATH . '/core/REST_Controller.php';
class Auth extends REST_Controller
{
function __construct()
{
parent::__construct();
}
public function login_get()
{
echo('get');
}
public function login_post()
{
echo('post');
}
}
当我使用http://localhost/auth/login Google Chrome扩展程序在RESTED进行 POST 时,我获得echo('get')
。
Debbuging REST_Controller 我可以看到函数_detect_method()
正在返回方法 GET ,这是因为在函数method()
中< em>输入 CodeIgniter $this->server('REQUEST_METHOD')
的核心类正在返回 GET 。
为什么会这样?
答案 0 :(得分:1)
没关系,我得到了解决方案!
发生这种情况只是因为我忘了在我的Apache中启用 mod_rewrite 。
这解决了问题:
sudo a2enmod rewrite
sudo service apache2 restart