Когда я использую URL как
mysite.com/index.php/user/user
метод вызывается.
Но когда я добавляю строку ниже в routes.php
, чтобы я мог получить доступ к функции с помощью пользовательского URL.
это вызывает у меня ошибку. 404 Not Found
Я хочу получить доступ к методу, используя url как mysite.com/user
$route['user']['get'] = 'user/user';
user.php
присутствует в каталоге контроллера
<?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 User extends REST_Controller {
function __construct()
{
// Construct the parent class
parent::__construct();
}
public function user_get(){
$this->set_response("request recieved", REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
}
}
[2-й вопрос]
как создать маршрут для доступа к контроллеру, присутствующему в определенных папках в каталоге контроллера.
предположим, что файл контроллера находится в каталоге controllers/api/v1/
с именем файла user.php
Примечание:
Я перепробовал все решения, предоставленные пользователями в других сообщениях, но проблема не была решена.
РЕДАКТИРОВАТЬ: проблема решена
Маршрутизация сейчас работает нормально. Я думаю, что проблема была, я звонил mysite.com/user, вместо этого я должен был позвонить mysite.com/index.php/user
Вторая проблема с index.php в URL-адресе также решена.
Я делал изменения в файле .htaccess
, который вместо этого находился в папке Application
.
Я создал .htaccess
файл в root folder
и добавил нижеприведенную строку кода
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>