Codeigniter 301 永久移动
Codeigniter 301 Moved Permanently
我休息了api。
之前一切正常。
但突然之间。
每次我启动 POST / PUT / DELETE 请求
我在 return 中收到 301 错误,该页面 return 发送到 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//uid/';
$route[$v1 . 'user']['post'] = $v1 . $user;
$route[$v1 . 'user/(:any)']['put'] = $v1 . $user . '/';
$route[$v1 . 'user/(:any)']['delete'] = $v1 . $user . '/';
编辑:
我试图创建另一个假人api
它也面临同样的问题,每个请求都以一种或另一种方式指向获取请求。
我在这里粘贴它的代码。
编辑 2
由于问题已解决,我将删除测试 url
你也可以测试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);
}
}
所以我解决了这个问题。
我所做的是使用 https://example.in
调用 api
相反,我应该打电话给 https://www.example.in
解决了由 GET 请求以外的 http 请求引起的问题。
我遇到了同样的错误,按照上面的答案解决了。
.env 文件中的 baseURL 必须包含用于生产的类似
https://www.yourwebsite.com.br/
CodeIgniter 4
我休息了api。
之前一切正常。
但突然之间。
每次我启动 POST / PUT / DELETE 请求
我在 return 中收到 301 错误,该页面 return 发送到 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//uid/';
$route[$v1 . 'user']['post'] = $v1 . $user;
$route[$v1 . 'user/(:any)']['put'] = $v1 . $user . '/';
$route[$v1 . 'user/(:any)']['delete'] = $v1 . $user . '/';
编辑:
我试图创建另一个假人api 它也面临同样的问题,每个请求都以一种或另一种方式指向获取请求。
我在这里粘贴它的代码。
编辑 2 由于问题已解决,我将删除测试 url
你也可以测试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);
}
}
所以我解决了这个问题。
我所做的是使用 https://example.in
相反,我应该打电话给 https://www.example.in
解决了由 GET 请求以外的 http 请求引起的问题。
我遇到了同样的错误,按照上面的答案解决了。
.env 文件中的 baseURL 必须包含用于生产的类似
https://www.yourwebsite.com.br/
CodeIgniter 4