Codeigniter 301 перемещен навсегда - PullRequest
0 голосов
/ 21 июня 2019

Я сделал 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 Поскольку проблема решена, я удаляю тестовый 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); 
    }   
}

1 Ответ

0 голосов
/ 22 июня 2019

Итак, я решил проблему.

Что я делал, так это вызывал API, используя https://example.in

вместо этого я должен был позвонить https://www.example.in

, которая решает проблему, вызванную HTTP-запросами, отличными от GET-запроса.

...