1

我不知道如何让 Nginx 配置文件找到我的 Codeigniter 应用程序。如果我将 php 文件放在我的根目录中,则在此服务器上提供 PHP 不是问题 b/c,我可以echo "hello world";.

这是我的 Nginx 配置文件,它几乎是本教程的逐字记录。请注意,我已经操纵了许多这些参数,但没有一个有效果,所以我想知道是否需要超越这个文件才能让它工作?:

server {
    listen   80;
    server_name www.mysite.com mysite.com;
    root   /var/www;
    index index.html index.php index.htm;
    access_log /var/log/nginx/access.log; 
    error_log /var/log/nginx/error.log;  

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

    location ~* \.php$ {
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_split_path_info ^(.+\.php)(.*)$;
      include fastcgi_params;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

我一直在想这是一个简单的路径问题 b/c Codeigniter 的路由结构有些混乱,但我的配置看不到问题。想法?

4

1 回答 1

1

最上面的一切都与我为 CI 项目所拥有的相匹配,那么这是我的位置配置:

location ~ \.php$ {
   include /etc/nginx/fastcgi_params;
   fastcgi_pass   127.0.0.1:9000;
   fastcgi_index  index.php;
   fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

不确定通过删除通配符 * 是否会有所帮助,或者摆脱 split_info 参数...

于 2012-08-02T16:33:14.193 回答