我在从主网站以外的其他路径运行/文件夹时遇到问题。
该部分的我的nginx.conf看起来像这样:
location ~ \.php$ { try_files $uri = 404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; include fastcgi_params; include fastcgi.conf; } location ~ /folder { alias /srv/http/folder; try_files $uri $uri/ @folder; location ~ \.php$ { fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; include fastcgi.conf; } } location @folder { rewrite /folder/(.*)$ /folder/index.php?/$1 last; }
在error.log中,我可以看到以下内容:
2020/06/03 09:05:26 [error] 25966#25966: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.21.2.46, server: example.com, request: "GET /folder/xxx_v6.15.11/Resources/images/redcaplogo.gif HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.2-fpm.sock:", host: "example.com"
任何建议如何解决此问题?
我在从主网站以外的其他路径运行/文件夹时遇到问题。我在该部分的nginx.conf如下所示:location〜\ .php $ {try_files $ uri ...
Regex位置从头到尾进行匹配,第一个找到的匹配项由nginx处理。当您收到对/folder/script.php
的请求时,第一个位置块将对其进行处理。尝试交换这两个位置。另外,为什么第二个位置块中不包含fastcgi_params
?