需要一些帮助在nginx 1.9.3上使用php-fpm安装Magento 2.0.2目前我正在使用Magento提供的默认配置(https://github.com/magento/magento2/blob/develop/nginx.conf.sample)。
正在发生的问题是在解压缩后访问/设置时,我在“setup / index.php / navigation”上显示了403以及该页面试图访问的其他URL。
我已经意识到这背后的问题是它没有将“navigation”作为参数传递给index.php文件,并且实际上是在寻找“index.php / navigation”作为文件并尝试将其传递给php5 -fpm导致security.limit_extensions被触发,导致403。
所以问题就变成如何获得正确处理的请求? E.X.当安装index.php呈现的javascript请求index.php / navigation时,如何确保将其作为参数传递给index.php,而不是尝试在“index.php / navigation”中查找文件,就像索引一样。 php是一个目录。
答案 0 :(得分:7)
正如我所看到的,这个问题变得越来越普遍。似乎fastcgi_split_path_info需要定义。尝试将nginx.conf.sample / setup location block(我用##指向解决方案代码)更改为:
location /setup {
root $MAGE_ROOT;
location ~ ^/setup/index.php {
### This fixes the problem:
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
################################
fastcgi_pass fastcgi_backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ ^/setup/(?!pub/). {
deny all;
}
location ~ ^/setup/pub/ {
add_header X-Frame-Options "SAMEORIGIN";
}}