如何解决Nginx 在 PHP 中传播 server_name 正则表达式
在我的 Nginx 配置中有
server_name ~^(?<domain>.*mygreatsite987778.com.invalid)$ ;
效果很好。但是当 PHP 执行 echo $_SERVER['SERVER']
时,它会看到:
~^(?.*mygreatsite987778.com.invalid)$
尽管看起来很合乎逻辑,但有没有办法获取与正则表达式匹配的服务器名称?服务器变量 HTTP_HOST
包含好值 (stuff.mygreatsite987778.com.invalid
)。我想保留 SERVER
变量。
解决方法
这些变量在你的 Nginx 配置文件中定义。您可以将它们设置为您需要的任何值。
您正在查看的变量(在我的系统上称为 SERVER_NAME
)正在使用 $server_name
变量的值,但您更愿意使用 $host
的值或 $http_host
值。
这些变量中的大多数都在一个名为 fastcgi_params
的文件中定义,但您可以通过在 include 语句之后放置一个语句来单独覆盖它们。
例如:
include fastcgi_params;
fastcgi_param SERVER $http_host;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。