gpt4 book ai didi

php - nginx "server"指令具有多个 "server_name"条目 : always first one is passed to PHP's $_SERVER ['SERVER_NAME' ]

转载 作者:IT王子 更新时间:2023-10-29 01:18:44 29 4
gpt4 key购买 nike

我的配置文件有一个以...开头的server指令 block

server {
server_name www.example1.com www.example2.com www.example3.com;

...为了让网站可以用不同的域名访问。

但是 PHP 的 $_SERVER['SERVER_NAME'] 总是返回 server_name 的第一个条目,在本例中为 http://www.example1.com

所以我无法从 PHP 代码知道用户使用哪个域访问该站点。

有什么办法可以让nginx/fastcgi传递访问站点的真实域名吗?


到目前为止,我找到的唯一解决方案是为每个域重复整个 server block ,并使用不同的 server_name 条目,但显然我正在寻找更好的方法一个。

最佳答案

fastcgi_params 配置中设置 SERVER_NAME 以使用 $host

fastcgi_param   SERVER_NAME         $host;

来源:http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_param

关于php - nginx "server"指令具有多个 "server_name"条目 : always first one is passed to PHP's $_SERVER ['SERVER_NAME' ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31479341/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com