zoukankan      html  css  js  c++  java
  • 【SERVER_NAME】PHP中的SERVER_NAME【原创】

    今天碰到一个bug,做接口的时候,返回活动的链接,以前用的是:
    1
    $_SERVER['SERVER_NAME'] .'/index.php/xxxxx' 
    结果发现前面的域名是错误的。

    查文档发现$_SERVER['SERVER_NAME']输出的是apache或者是nginx里面配置文件定义的SERVER_NAME
    比如apache的配置文件httpd.conf:
    1
    <virtualhost *>
    2
    ServerName baidu.cn
    3
    ServerAlias www.baidu.cn
    4
    </virtualhost>
    那么上面的链接输出的是baidu.cn/index.php/xxxx

    这和预想的域名是不一样的,域名是应该和请求的域名是一致的,后来改成用$_SERVER['HTTP_HOST']即可。

    文档:
    _SERVER["HTTP_HOST"] 在HTTP/1.1协议规范下,会根据客户端的HTTP请求输出信息。
    _SERVER["SERVER_NAME"] 默认情况下直接输出apache的配置文件httpd.conf中的ServerName值。

    所以,在实际程序中,应尽量使用_SERVER["HTTP_HOST"] ,比较保险和可靠。
  • 相关阅读:
    单行道
    学习C++50条忠告
    ROI
    OpenCV(图像处理)—访问像素的三种方法
    毕业课题项目——基于单目摄像头的距离测量
    API
    MFC
    STL
    debug、release
    Android中退出程序的提示框
  • 原文地址:https://www.cnblogs.com/linewman/p/9918112.html
Copyright © 2011-2022 走看看