Я использую nginx и yii2, пытаясь создать небольшой пример API-интерфейса crud rest, и всякий раз, когда я включаю красивые URL-адреса, я больше не могу получить доступ к своим маршрутам.
Моя конфигурация выглядит следующим образом:
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
[
'class' => 'yii\rest\UrlRule',
'controller' => 'user',
'only' => ['delete', 'create', 'update', 'get'],
'patterns' => [
'PUT users/<id:\d+>' => 'user/update',
'DELETE users/<id:\d+>' => 'user/delete',
'GET users/<id:\d+>' => 'user/get',
'POST users' => 'user/create',
]
],
[
'class' => 'yii\rest\UrlRule',
'controller' => 'campaign',
'only' => ['delete', 'create', 'update', 'get'],
'patterns' => [
'PUT campaigns/<id:\d+>' => 'campaign/update',
'DELETE campaigns/<id:\d+>' => 'campaign/delete',
'GET campaigns/<id:\d+>' => 'campaign/get',
'POST campaigns' => 'campaign/create',
]
],
],
],
Обратите внимание, что при включении этого я могу без проблем получить доступ к gii в / gii вместо /index.php?r=gii
Когда эта опция отключена, мои маршруты работают нормально, используя параметры индекса.Также это yii дает мне 404, а не напрямую nginx.
РЕДАКТИРОВАТЬ: Этот URL работает / user / get? Id = 1 Однако этот не делает / users / get / 1, ни / user / get / 1 APOST on / users будет работать, но не остальные HTTP-запросы