当前位置:  开发笔记 > 编程语言 > 正文

使用Nginx设置常量SERVER_NAME

如何解决《使用Nginx设置常量SERVER_NAME》经验,为你挑选了1个好方法。

我有以下结构的nginx.conf

http {
    [ ... ]

    server {
        [ ... ]

        location ~ \.php$ {
            fastcgi_pass  unix:/run/php/php7.0-fpm.sock;
            fastcgi_split_path_info  ^(.+\.php)(/.*)$;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param  SERVER_NAME $host;
            fastcgi_read_timeout  3000;
            include  fastcgi_params;
        }
    }
}

该nginx在Docker内部运行,因此不知道链接到哪个域(托管系统上有nginx反向代理)。但是我有一个问题,当我尝试$_SERVER['SERVER_NAME']从PHP访问时,它是空的...如何将其设置为恒定值?当我尝试:

fastcgi_param  SERVER_NAME example.com

它仍然是空的。

请注意,我必须使用SERVER_NAME,因为它在第3部分代码中。



1> Richard Smit..:

fastcgi_param设置相同参数的多个语句(在同一块级别)将默默使用最后一条语句中的值。这包括通过include指令读取的语句

始终在fastcgi_param语句后include fastcgi_params;声明语句,以避免配置文件中出现歧义。

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有