Я новичок в nginx и у вас есть вопрос в отношении переписывания правил. Я пытаюсь настроить правила перезаписи для очень небольшого API, есть ли какой-либо подход к этому более подходящему, чем то, что я придумал?Как настроить правила перезаписи для небольшого api с помощью nginx?
У меня будет PHP, работающий позади него, используя добрый рабочий процесс MVC, где контроллер, метод и аргумент будут взяты из URI, но первый параметр будет представлять собой ключ API.
PHP концепция:
controller->method(arguments)
Конфигурация:
location /api/ {
# passing api key only
rewrite ^/api/([0-9\-]+)/?$ /api/index.php?apikey=$1 last;
# passing api key and controller
rewrite ^/api/([0-9\-]+)/([0-9a-zA-Z\-]+)/?$ /api/index.php?apikey=$1&controller=$2 last;
# passing api key, controller and method
rewrite ^/api/([0-9\-]+)/([0-9a-zA-Z\-]+)/((select|insert|delete)+)/?$ /api/index.php?apikey=$1&controller=$2&method=$3 last;
# passing api key, controller, method and arguments
rewrite ^/api/([0-9\-]+)/([0-9a-zA-Z\-]+)/((select|insert|delete)+)/([0-9\-]+)/?$ /api/index.php?apikey=$1&controller=$2&method=$3&argument=$4 last;
}
Спасибо заранее,
Благодарим вас, я переведу его к бутстрапу вместо этого. –