404 при любом запросе на REST API

Всё что касается построения API
Ответить
andrewkovalev
Сообщения: 3
Зарегистрирован: 2015.08.01, 14:57

404 при любом запросе на REST API

Сообщение andrewkovalev »

Код: Выделить всё

<?php
$params = array_merge(
    require(__DIR__ . '/../../common/config/params.php'),
    require(__DIR__ . '/../../common/config/params-local.php'),
    require(__DIR__ . '/params.php'),
    require(__DIR__ . '/params-local.php')
);
return [
    'id' => 'rest-api',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'modules' => [
        'v1' => [
            'class' => 'rest\versions\v1\RestModule'
        ],
        'v2' => [
            'class' => 'rest\versions\v2\RestModule'
        ],
    ],

    'components' => [
        'user' => [
            'identityClass' => 'common\models\User',
            'enableSession' => false,
        ],
        'response' => [
            'format' => yii\web\Response::FORMAT_JSON,
            'charset' => 'UTF-8',
        ],
        'log' => [
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'request' => [
            'class' => '\yii\web\Request',
            'enableCookieValidation' => false,
            'parsers' => [
                'application/json' => 'yii\web\JsonParser',
            ],
        ],
        'urlManager' => [
            'enablePrettyUrl' => true,
            'enableStrictParsing' => false,
            'showScriptName' => false,
            'rules' => [
                ['class' => 'yii\rest\UrlRule', 'controller' => ['v1/post', 'v1/comment', 'v2/post']],
                'OPTIONS v1/user/login' => 'v1/user/login',
                'POST v1/user/login' => 'v1/user/login',
                'POST v2/user/login' => 'v2/user/login',
                'OPTIONS v2/user/login' => 'v2/user/login',
            ],
        ],
    ],
    'params' => $params,
]; 

Код: Выделить всё

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php [L] 
Вобщем отсюда https://github.com/githubjeka/yii2-rest компоузером установил, сделав все по инструкции выдает 404 на любой запрос
http://109.251.87.98/api/rest/web/ - ссылка на мой сервер
http://109.251.87.98/angular/ - ссылка на ангуляр приложение

andrewkovalev
Сообщения: 3
Зарегистрирован: 2015.08.01, 14:57

Re: 404 при любом запросе на REST API

Сообщение andrewkovalev »

Код: Выделить всё

RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-f [OR]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ rest/web/index.php
'enableStrictParsing' => false - поставил и .htaccess поправил
теперь уже отдает на запрос http://109.251.87.98/api/rest/web/v1/post - Unauthorized
но при логине 500 ошибка.

Помогите кто нибудь :cry:

andrewkovalev
Сообщения: 3
Зарегистрирован: 2015.08.01, 14:57

Re: 404 при любом запросе на REST API

Сообщение andrewkovalev »

Спасибо вопрос снят.
Решение:
1. 'enableStrictParsing' => false,
2. RewriteRule ^.*$ rest/web/index.php
3. крос домейн операции не работали потому перенес все на один домен + вынес это все дело на отдельный хостинг, и все заработало.

programmist
Сообщения: 1
Зарегистрирован: 2019.08.03, 11:11

Re: 404 при любом запросе на REST API

Сообщение programmist »

Таже проблема выдаёт 404 голову сломал проект работал но потом перестал ?

site.loc/api/v1/message/index
||
site.loc//api/webindex.php?r=v1/message/

Код: Выделить всё

<?php
$params = array_merge(
    require(__DIR__ . '/../../common/config/params.php'),
    require(__DIR__ . '/../../common/config/params-local.php'),
    require(__DIR__ . '/params.php'),
    require(__DIR__ . '/params-local.php')
);
return[
    'id' => 'app-api',
    'basePath' => dirname(__DIR__),
    //'controllerNamespace' => 'api\controllers',
    'controllerNamespace' => 'api\modules\v1\controllers',
    'bootstrap' => ['log'],
    'modules' => [
        'v1' => [
            //'basePath' => '@api/modules/v1',
            'class' => 'api\modules\v1\Module',   // here is our v1 modules
            //'controllerNamespace' => 'api\modules\v1\controllers',
        ]
    ],
    'components' => [
        'user' => [
            'identityClass' => 'common\models\UserIdentity',
            'enableAutoLogin' => false,
        ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'urlManager' => [
            'enablePrettyUrl' => true,
            'enableStrictParsing' => true,
            'showScriptName' => false,
            'rules' => [
                [
                    //'pluralize' => false,

                    'class' => 'yii\rest\UrlRule',
                    'controller' => ['v1/message'],
                    //'tokens' => [
                        //'{id}' => '<id:\\w+>'
                    //]
                ]
            ],
        ]
    ],

    'params' => $params,
];
?>

Ответить