使用$_SERVER['HTTP_HOST']时需注意的
2016-07-19 16:20
309 查看
在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址。
$_SERVER['HTTP_HOST']在客户的环境里,取得的值总是程序所在的服务器在其局域网内的ip值。
究其原因,是因为,客户的公司通过一台服务器连接至因特网,而我们的程序所在的服务器,是通过域名映射出来的,也就是中间有个“代理”的过程。因此$_SERVER['HTTP_HOST']在这样的环境里,取得的值总是程序所在的服务器在其局域网内的ip值。
有时项目移交到某些服务器时会出错这时将$_SERVER['HTTP_HOST']替换成:
$host = isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '');
即可。
$_SERVER['HTTP_HOST']在客户的环境里,取得的值总是程序所在的服务器在其局域网内的ip值。
究其原因,是因为,客户的公司通过一台服务器连接至因特网,而我们的程序所在的服务器,是通过域名映射出来的,也就是中间有个“代理”的过程。因此$_SERVER['HTTP_HOST']在这样的环境里,取得的值总是程序所在的服务器在其局域网内的ip值。
有时项目移交到某些服务器时会出错这时将$_SERVER['HTTP_HOST']替换成:
$host = isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '');
即可。
相关文章推荐
- setfacl命令 来自: http://man.linuxde.net/setfacl
- HTTP请求方法对照表
- HttpAnalyzerStdV7安装教程
- HTTP、TCP/IP协议与Socket之间的区别
- Android网络请求框架Retrofit使用详解
- Exception in thread http-apr-8080-exec-
- apache查看TCP并发连接数
- HTTP协议(转自:小坦克博客)
- 使用Devstack部署neutron网络节点
- Understanding Convolutional Neural Networks for NLP(理解NLP中的卷积神经网络) 阅读笔记
- 浏览器是怎样工作的(一):基础知识 转载http://ued.ctrip.com/blog/how-browsers-work-i-basic-knowledge.html
- Linux 网络搭建
- TCP序列号和确认号详解
- Http--发送 POST 和 GET 请求(一)
- 网络编程之URL和URLConnection
- HTTPClient跨域访问 ——put请求
- HTTPClient跨域访问 ——Get请求
- java socket的网络编程一些小结
- HTTPClient跨域访问 ——Post请求
- HTTP协议的8种请求类型介绍