1

在我的 Nginx 配置中有

server_name ~^(?<domain>.*mygreatsite987778.com.invalid)$ ;

效果很好。但是当 Php 这样做echo $_SERVER['SERVER']时,它会看到:

~^(?.*mygreatsite987778.com.invalid)$

尽管看起来合乎逻辑,但有没有办法获得与正则表达式匹配的服务器名称?服务器变量HTTP_HOST包含良好的值 ( stuff.mygreatsite987778.com.invalid)。我想保留SERVER变量。

4

1 回答 1

0

这些变量在你的 Nginx 配置文件中定义。您可以将它们设置为您需要的任何值。

您正在查看的变量(在我的系统上称为SERVER_NAME)正在使用$server_name变量的值,但您更愿意使用$host或值的$http_host值。

这些变量中的大多数都定义在一个名为 的文件中fastcgi_params,但是您可以通过在 include 语句之后放置一个语句来单独覆盖它们。

例如:

include       fastcgi_params;
fastcgi_param SERVER $http_host;
于 2021-02-12T10:51:32.917 回答