Назад | Перейти на главную страницу

Как настроить местоположение NGINX для обслуживания API Codeigniter RESTful в подкаталоге сервера?

У меня следующая структура каталогов:

mysite.com
- /api (codeigniter RESTful API Server)
- /app (backbonejs app)

Я пытаюсь настроить NGINX так, чтобы все запросы mysite.com/api* направлялись в каталог api и использовали настройку Codeigniter.

Все, что я нашел, работает нормально, если CI находится в корневом каталоге. Но в тот момент, когда вы пытаетесь поместить его в подкаталог, это терпит неудачу.

Вот что у меня сейчас есть:

server {
        listen 80;
        server_name local.mysite.com;
        root /Users/me/Sites/mysite;
        autoindex on;
        index index.html index.php;

        location /api {
            try_files $uri $uri/ /api/index.php;

            location ~ \.php$ {
                root /Users/me/Sites/mysite/api;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
            }


        }



    }

Это просто дает мне ошибку «Файл не найден». Нет даже подходящего nginx 404. Как мне настроить NGINX для CodeIgniter в подкаталоге сервера?

Спасибо!

Для всех, кто пытается понять это и терпит неудачу, потому что ответа еще нет, вот супер простая настройка:

140     server {
141         listen 80;
142         server_name local.mysite.com;
143         root /Users/me/Sites/mysite;
144         autoindex on;
145         index index.html index.php;
146
147         location /api {
148             try_files $uri $uri/ /api/index.php$args;
149
150         }
151
152         location ~ \.php$ {
153             fastcgi_pass 127.0.0.1:9000;
154             fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
155             include fastcgi_params;
156         }
157
158
159
160     }