PHP的$_SERVER['HTTP_HOST']获取服务器地址功能详解,$_SERVER['HTTP_X_FORWARDED_HOST']
来源:互联网 发布:mac自带截图快捷键 编辑:程序博客网 时间:2024/06/16 05:57
uchome的index文件中的二级域名功能判断,使用了php的$_SERVER['HTTP_HOST'],开始对这个不是很了解,所以百度了一下,发现一篇帖子有点意思,转发过来做个记录。
在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址。
php手册中的解释如下:
“HTTP_HOST”
当前请求的 Host: 头信息的内容。
一般来说,这样子不会遇到什么问题,在一些常见的php框架中,如PFC3和FLEA也是基于该预定义变量。
然而最近在做的一个项目,程序移交到客户手里测试时,竟然发现程序的跳转总是会出错。
最后找出原因:$_SERVER['HTTP_HOST']在客户的环境里,取得的值总是程序所在的服务器在其局域网内的ip值。
究其原因,是因为,客户的公司通过一台服务器连接至因特网,而我们的程序所在的服务器,是通过域名映射出来的,也就是中间有个“代理”的过程。因此$_SERVER['HTTP_HOST']在这样的环境里,取得的值总是程序所在的服务器在其局域网内的ip值。
最后查了不少资料,在symfony框架里面,找到替代的实现方法:
将$host = $_SERVER['HTTP_HOST'];
替换成:
$host = isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '');
即可。
0 0
- PHP的$_SERVER['HTTP_HOST']获取服务器地址功能详解,$_SERVER['HTTP_X_FORWARDED_HOST']
- PHP的$_SERVER['HTTP_HOST']获取服务器地址功能详解,$_SERVER['HTTP_X_FORWARDED_HOST']
- PHP的$_SERVER['HTTP_HOST']获取服务器地址功能详解
- PHP的$_SERVER['HTTP_HOST']获取服务器地址功能详解
- PHP获取当前域名$_SERVER['HTTP_HOST']和$_SERVER['SERVER_NAME']的区别
- PHP获取当前域名$_SERVER['HTTP_HOST']和$_SERVER['SERVER_NAME']的区别
- PHP $_SERVER['HTTP_HOST']与$_SERVER["SERVER_NAME"]的区别
- $_SERVER详解($_SERVER[PHP_SELF],$_SERVER[SCRIPT_NAME],$_SERVER['REQUEST_URI']与HTTP_HOST和SERVER_NAM的区别)
- $_SERVER['HTTP_HOST']
- PHP服务器变量$_SERVER详解
- PHP 服务器变量:$_SERVER详解
- PHP服务器变量$_SERVER详解
- PHP服务器变量$_SERVER详解
- PHP服务器变量$_SERVER详解
- PHP服务器变量$_SERVER详解
- PHP服务器变量$_SERVER详解
- PHP服务器变量$_SERVER详解
- PHP服务器变量$_SERVER 详解
- 读v_JULY_v整理笔试题博客有感,整理些答案。
- 在Linux下编写C程序,怎么检查程序是否有内存泄漏?
- django+celery+RabbitMQ 环境配置
- Java中Properties类的使用
- 客户端封装数据为json格式的数据提交到服务端的方法
- PHP的$_SERVER['HTTP_HOST']获取服务器地址功能详解,$_SERVER['HTTP_X_FORWARDED_HOST']
- Codeforces Round #262 (Div. 2)
- 阿迪达斯智能足球使用Nordic Semiconductor蓝牙智能无线技术
- 【COCOS2DX-BOX2D游戏开发之三】 读取tiledmap的tmx阻挡
- 基于事件的 NIO 多线程服务器
- ORA-00376: 此时无法读取文件
- Oracle cloud control 12c 如何修改sysman密码
- 二十六个月Android学习工作总结
- Android之旅十六 android中各种资源的使用