2015-08-01 2 views
3

Я уже давно застрял в этом. В основном, у меня есть файл маршрутизации в моем приложении Slim Framework, которое направляет мой API, а затем я могу получить доступ к таким маршрутам: «index.php/api/route». Это отлично работает с apache или php -S. Но теперь, когда я перешел на сервер nginx с php5-fpm, я столкнулся с проблемами при правильной настройке сайта. Я могу получить доступ к index.php, но все после 404. Проверка журналов дает мне «нет такого файла или папки» или «не каталог». Вот моя текущая конфигурация:Конфигурация Nginx для маршрутов API Slim Framework

server { 
    listen 80; 
    listen [::]:80 default_server ipv6only=on; 
    server_name www.site.com; 
    root /var/www/site; 
    index index.php; 

    error_log /var/log/nginx/site.error.log; 
    access_log /var/log/nginx/site.access.log; 

    location ~ \.php$ { 
    fastcgi_connect_timeout 5s; 
    fastcgi_read_timeout 10s; 
    fastcgi_pass unix:/var/run/php5-fpm.sock; 
    #fastcgi_split_path_info ^(.+\.php)(/.*)$; 
    fastcgi_index index.php; 
    include fastcgi_params; 
    #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    } 
} 

Я протестировал с прокомментированными строками, без каких-либо успехов. Есть идеи?

ответ

6

Nevermind, я был просто отсутствует try_files для index.php пути

location/{ 
    try_files $uri $uri/ /index.php?$query_string; 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^