使用handle_path时,Caddy PHP fastcgi不提供服务器script_name

问题描述 投票:0回答:1

Caddy (2.8.4) 通过 FastCGI (PHP-FPM) 托管 PHP 应用程序,但由于某种原因,当我使用 caddy

$_SERVER['SCRIPT_NAME']
配置时,
handle_path
不包含完整路径。

:80 {
    handle_path /subpath/* {
        # serve a PHP site through php-fpm:
        php_fastcgi localhost:9000 {
            root /var/www/html
        }
    }
}

当我访问时: www.domain.com/subpath/ 我得到:

$_SERVER['SCRIPT_NAME']=/index.php

但是我想要

/subpath/index.php

我应该如何更改 caddyfile 配置来实现此目的?

php fastcgi caddy caddyfile
1个回答
0
投票

我刚刚遇到了同样的问题,发现了你的问题!最后,虽然 Caddy 的行为与 Apache 和 nginx 不同,但很容易根据您的喜好显式设置 SCRIPT_NAME,因为它只是一个环境变量:

:80 {
    handle_path /subpath/* {
        php_fastcgi localhost:9000 {
            root /var/www/html
            env SCRIPT_NAME /subpath{path}
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.