【问题标题】:Nginx config for Slim Framework API routesSlim 框架 API 路由的 Nginx 配置
【发布时间】:2015-10-24 01:17:51
【问题描述】:

我已经被这个问题困扰了很长时间了。基本上,我的 Slim 框架应用程序中有一个路由文件,它路由我的 API,然后我可以像这样访问路由:“index.php/api/route”。这适用于 apache 或 php -S。但是现在当我使用 php5-fpm 迁移到 nginx 服务器时,我遇到了正确配置站点的问题。我可以访问 index.php,但之后的任何内容都是 404。检查日志给我“没有这样的文件或文件夹”或“不是目录”。这是我当前的配置:

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;
  }
}

我用注释掉的行进行了测试,但没有成功。有什么想法吗?

【问题讨论】:

    标签: php nginx slim


    【解决方案1】:

    没关系,我只是缺少 index.php 路径的 try_files

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

    【讨论】:

      猜你喜欢
      • 2013-01-09
      • 2017-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-18
      • 1970-01-01
      • 2018-03-08
      • 2016-06-28
      相关资源
      最近更新 更多