浅谈PHP的$_SERVER[SERVER_NAME]

5年以前  |  阅读数:391 次  |  编程语言:PHP 

问题

微信公众号获取code时的跳转链接,默认是获取当前页面的链接,代码如下:


    // 说明:获取当前页面的url地址
    function GetCurrentpageURL()
    {
      $pageURL = 'http';

      if ($_SERVER["HTTPS"] == "on")
      {
        $pageURL .= "s";
      }
      $pageURL .= "://";

      if ($_SERVER["SERVER_PORT"] != "80")
      {
        $pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];
      }
      else
      {
        $pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
      }
    //    echo $_SERVER["SERVER_NAME"].PHP_EOL;
    //    echo $pageURL;die;
      return $pageURL;
    }

现在要加一个域名,我就在Nginx上的conf文件下,追加了这个域名,内容如下:


    server {
        listen 80;
        server_name origin.baidu.com back.baidu.com;
        //something

添加好了域名,并设置好了授权域名后,访问http://back.baidu.com?xxx ,每次都被重定向到http://origin.baidu.com/xxx 。

解决办法

好吧,我知道是获取当前域名的函数获取的当前链接有问题,在Nginx的conf文件中,将back.baidu.com提至最前方,问题解决


    server {
        listen 80;
        server_name  back.baidu.com origin.baidu.com;
        //something

原因

PHP的$_SERVER["SERVER_NAME"] 获取的不是地址栏上的域名,而是配置文件中的第一个域名域名。好吧,记录下

以上这篇浅谈PHP的$_SERVER[SERVER_NAME]就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例