【发布时间】:2016-06-18 01:37:07
【问题描述】:
我在 Nginx 上遇到了一个问题,PHP-FPM 无法正确解析包含完整 URL-Path 的表单操作。根似乎是以下指令:fastcgi_split_path_info ^(.+.php)(/.+)$;
根据https://www.digitalocean.com/community/tutorials/understanding-and-implementing-fastcgi-proxying-in-nginx,第一个捕获组用于 $fastcgi_script_name,第二个用于 $fastcgi_path_info 变量。
在我的日志中我发现:/files/wordpress-live/analytics/sampling-luegt-google-analytics/index.php" 找不到(2:没有这样的文件或目录),客户端:217.50.183.28,服务器:mikeg.de,请求:“POST /analytics/sampling-luegt-google-analytics/HTTP/2.0”,主机:“mikeg.de”
报告无效路径“/files/wordpress-live/analytics/sampling-luegt-google-analytics/index.php”的日志。有人知道如何正确拆分发布请求路径以便 PHP-FPM 可以正确传递吗?
非常感谢和亲切的问候 迈克
【问题讨论】:
-
您对
$fastcgi_script_name的期望值是多少? -
它应该是没有帖子网址的根文件夹。在这种特殊情况下,仅 /files/wordpress-live/
-
请用相关配置文件扩展您的问题,特别是网站的
server { ... }块。 -
感谢理查德的支持。这是有问题的服务器配置:Pastebin config
-
目录
/files/wordpress-live/analytics/sampling-luegt-google-analytics是否真的存在于您的系统中?