我已经制作了一个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);
}
}
答案 0 :(得分:0)
所以我解决了这个问题。
我正在做的是使用https://example.in
相反,我应该打电话给https://www.example.in
解决了由GET请求以外的http请求引起的问题。
答案 1 :(得分:0)
我遇到了同样的错误并按照上面的答案解决。
.env 文件中的 baseURL 必须包含用于生产的类似内容
https://www.yourwebsite.com.br/
代码点火器 4