Codeigniter 301永久移动

时间:2019-06-21 09:51:45

标签: rest api codeigniter routing

我已经制作了一个REST API。

以前,一切都很好。

但现在突然。

每次我启动POST / PUT / DELETE请求

返回301错误,并且该页面返回到GET请求。

简而言之,每次调用GET请求时,我现在发出什么请求都没有关系。 或重定向错误以获取请求。

错误日志:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://www.example.in/api/user">here</a>.</p>
</body></html>

我使用的路线

$v1 = 'api';
$user = 'user/user';

$route['post/(:any)']['get'] = 'post';
$route[$v1 . 'user']['get'] = $v1 . $user;
$route[$v1 . 'user/(:num)/(:any)']['get'] = $v1 . $user . '/type/$1/uid/$2';
$route[$v1 . 'user']['post'] = $v1 . $user;
$route[$v1 . 'user/(:any)']['put'] = $v1 . $user . '/$1';
$route[$v1 . 'user/(:any)']['delete'] = $v1 . $user . '/$1';



编辑:

我尝试创建另一个虚拟api 而且它也面临着同样的问题,每个请求都以一种方式或另一种方式来获取请求。

我在这里粘贴其代码。

编辑2 由于问题已解决,因此我将删除测试网址

您也可以测试api。

使用其他HTTP请求GET / POST / PUT / DELETE

<?php
use Restserver\Libraries\REST_Controller;
defined('BASEPATH') OR exit('No direct script access allowed');

require APPPATH . 'libraries/REST_Controller.php';
require APPPATH . 'libraries/Format.php';

class Example extends REST_Controller {

    public function users_get(){
        $this->set_response("GET Request", REST_Controller::HTTP_OK); 
    }
    public function users_put(){
        $this->set_response("PUT Request", REST_Controller::HTTP_OK); 
    }
    public function users_post(){
        $this->set_response("POST Request", REST_Controller::HTTP_OK); 
    }
    public function users_delete(){
        $this->set_response("DELETE Request", REST_Controller::HTTP_OK); 
    }   
}

2 个答案:

答案 0 :(得分:0)

所以我解决了这个问题。

我正在做的是使用https://example.in

调用api。

相反,我应该打电话给https://www.example.in

解决了由GET请求以外的http请求引起的问题。

答案 1 :(得分:0)

我遇到了同样的错误并按照上面的答案解决。

.env 文件中的 baseURL 必须包含用于生产的类似内容

https://www.yourwebsite.com.br/

代码点火器 4