【发布时间】:2015-10-07 09:10:47
【问题描述】:
我的配置文件有一个以...开头的server 指令块
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 块,并使用不同的 server_name 条目,但显然我正在寻找更好的解决方案。
【问题讨论】:
-
也许在你的代码中使用 Host 代替 -wiki.nginx.org/HttpCoreModule#.24host
-
为什么不在 nginx 下的 \etc\nginx\sites-available 下创建 3 个站点配置文件,每个站点都指向同一个位置?
-
@maytham 我当然可以这样做,但这正是我想要避免的(复制相同的配置文件)
标签: php nginx configuration fastcgi