今天在看ecshop的源码,发现了用$_SERVER['HTTP_X_FORWARDED_HOST']来判断主机的地址,就目前来说很多人都是直接通过$_SERVER['HTTP_HOST']来判断的,但是通过代理的话就有问题了,请看下面的问题描述: 在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址. php手册中的解释如下: “HTTP_HOST” 当前请求的 Host: 头信息的内容. 一般来说,这样子不会遇到什么问题,在一些常见的php框…
foreach( $_SERVER as $var => $value){ echo $var.' '.$value.'<br>'; };…
引言:在使用原生PHP的时候,对于URL路径的切割,如:域名,查询参数等等的提取,通常绝大多数兄弟会忽略$_SERVER中定义的内置常量的关系,这里为大家讲解一下. 常用的URL请求路径$_SERVER常量包含以下四个API! $_SERVER["SCRIPT_NAME"]  获取当前脚本的路径,如:index.php $_SERVER["PHP_SELF"]  当前正在执行脚本的文件名 $_SERVER["QUERY_STRING"]  获取查…
[源码下载] 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换 作者:webabcd 介绍速战速决 之 PHP 获取 http 请求数据 获取 get 数据 和 post 数据 json 字符串与对象之间的相互转换 示例1.获取 http 请求数据http/http1.php <?php /** * 获取 http 请求数据 */ // 通过 $_SERVER 获取相关数据 echo "PHP_SEL…
测试环境:Windows10.IIS/10.0 1.安装ARR.URL Rewrite(URL重写工具2.0) 注意英文和中文环境的对应: Application Request Routing 对应中文 应用程序请求路由 URL Rewrite Module 对应中文 URL重写 下载安装ARR(也可以在IIS管理器中,Web平台安装程序->产品->搜索框中搜索"arr"->应用程序请求路由3.0 Beta->添加->安装): http://www.ii…
简述 Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言.可基于服务器级的(httpd.conf)和目录级的 (.htaccess)两种方式.如果要想用到rewrite模块,必须先安装或加载rewrite模块. 基于服务器级的(httpd.conf)有两种方法,一种是在httpd.conf的全局下直接利用RewriteEngine on来打开rewrite功能;另一种是在局部里利用RewriteEngine on来打开rewrite功能,下面将会举例说明,需要注意的是…
Apache提供给rewirte模块的环境变量大概分成5个类型. 第一部分: HTTP headers 部分参数 参数名称: HTTP_USER_AGENT 样例参考值: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 说明: 相当于PHP中的服务器参数: $_SERVER["HTTP_USER_AGENT"] 参数名称: HTTP_REFERER 样例…
使用微信分享时,按照官方给的demo,使用时一直提示签名错误. 根据微信开发文档(http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html)排查,完全没问题,而且可以通过他们的检验工具检验(http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign). 输出签名与PHP程序计算出来的签名是一致的,莫名其妙的问题. 最后经过网友提醒,是微信demo程序获取URL中…
Django请求流程图 1.客户端发送请求 2.wsgiref是Django封装的套接字,它将客户端发送过来的请求(请求头.请求体封装成request) 1)解析请求数据 2)封装响应数据 3.中间件,进项身份验证等 MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.co…
tp中有三种常量: 预定义常量, 这个设置后不会随环境的改变而改变的,比如'URL_MODEL' => 1 注意是 model, 不是 url_mode 路径常量, 也不会随环境的改变而改变的, 比如define('THINK_PATH', './ThinkPHP/'), define('LIB_PATH', THINK_PHP.'Library/'); 系统常量, 这个会随着环境/文件的不同而不同的, 比如: 在模板中常用到的各种地址和名字等 : __ROOT__, __CONTROLLER_…
视图函数简称视图,本质上是一个简单的python函数,它接受web请求并且返回web响应:响应的内容可以是HTML网页.重定向.404错误.XML文档或图像等任何东西,但是,无论视图本身是个什么处理逻辑,最好都返回某种响应 视图函数的代码写在哪都无所谓,只要它在你的python目录下面,但是通常我们约定将视图放置在项目或应用程序目录中的名为views.py的文件中. 1.一个简单的视图 下面是一个返回当前日期和时间作为HTML文档的视图: from django.http import Http…
在使用三神装的时候,首先当然是得要导入它们: from django.shortcuts import HttpResponse, render, redirect   一.HttpRequest捕获请求 捕获请求——HttpRequest对象 1.属性 HttpRequest.scheme  #一个字符串,表示请求的方案(通常是http或者https)HttpRequest.body    #一个字节字符串,表示原始HTTP请求的正文HttpRequest.path    #一个字符串,表示请…
当一个请求连接进来时,django会创建一个HttpRequest对象来封装和保存所有请求相关的信息,并且会根据请求路由载入匹配的视图函数.每个请求的视图函数都会返回一个HttpResponse. HttpRequest和HttpResponse可以从django.http中导入. 1.HttpRequest类  函数  功能描述 HttpRequest.scheme 请求协议(http或者https) HttpRequest.body 以字节的方式返回请求体内容:可以通过HttpRequest…
WSGIRequest对象 Django在接收到http请求之后,会根据http请求携带的参数以及报文信息创建一个WSGIRequest对象,并且作为视图函数第一个参数传给视图函数.这个参数就是django视图函数的第一个参数,通常写成request.在这个对象上我们可以找到客户端上传上来的所有信息.这个对象的完整路径是django.core.handlers.wsgi.WSGIRequest. class WSGIRequest(HttpRequest): def __init__(self,…
Django框架 之 view视图 浏览目录 概述 简单的视图 HttpRequest对象 CBV和FBV 给视图加装饰器 Request对象 Response对象 JsonResponse对象 Django shortcut functions 一.概述 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. 无论视图本身包含什么逻辑,都要返回响应.代…
视图层是 Django 处理请求的核心代码层,我们大多数 Python 代码都集中在这一层面.它对外接收用户请求,对内调度模型层和模版层,统合数据库和前端,最后根据业务逻辑,将处理好的数据,与前端结合,返回给用户.视图层是真正的后端,是 Python工程师的‘主营业务’.Django 的视图层包含下面一些主要内容: 1.URL 路由 2.视图函数 3.快捷方式 4.请求与响应 一.URL 路由基础 URL 是 Web 服务的入口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的 URL 地…
echo "rewrite: ".$_GET["rewrite"]; echo "<br>SERVER_PORT: ".$_SERVER["SERVER_PORT"]; echo "<br>HTTP_HOST: ".$_SERVER["HTTP_HOST"]; echo "<br>SERVER_NAME: ".$_SERVER[&q…
[PHP] ;;;;;;;;;;;;;;;;;;;;;;; ; 关于 php.ini 配置文件 ; ;;;;;;;;;;;;;;;;;;;;;;; ; PHP 的初始化文件, 必须命名为 php.ini. ; 主要是用来负责PHP的配置. ; PHP 会尝试通过一些地址来寻找和加载配置. ; 比如有以下几种方式依次查找该文件: ; 1. SAPI . ; 2. 环境变量 PHPRC . (As of PHP 5.2.0) ; 3. Windows上预定义好的注册表 (As of PHP 5.2.…
每当一个用户请求发送过来,Django将HTTP数据包中的相关内容,打包成为一个HttpRequest对象,并传递给每个视图函数作为第一位置参数,也就是request,供我们调用. HttpRequest对象中包含了非常多的重要的信息和数据,应该熟练掌握它. 类定义:class HttpRequest[source] 一.属性 HttpRequest对象的大部分属性是只读的,除非特别注明. 1. HttpRequest.scheme 字符串类型,表示请求的协议种类,'http'或'https'.…
uchome的index文件中的二级域名功能判断,使用了php的$_SERVER['HTTP_HOST'],开始对这个不是很了解,所以百度了一下,发现一篇帖子有点意思,转发过来做个记录. 在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址. php手册中的解释如下:   “HTTP_HOST”当前请求的 Host: 头信息的内容.  一般来说,这样子不会遇到什么问题,在一些常见的php框架中,如PFC3和FLEA也是基于该预定义变量. 然而最近…
uchome的index文件中的二级域名功能判断,使用了php的$_SERVER['HTTP_HOST'],开始对这个不是很了解,所以百度了一下,发现一篇帖子有点意思,转发过来做个记录. 在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址. php手册中的解释如下: “HTTP_HOST”当前请求的 Host: 头信息的内容.  一般来说,这样子不会遇到什么问题,在一些常见的php框架中,如PFC3和FLEA也是基于该预定义变量. 然而最近在做…
在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址. $_SERVER['HTTP_HOST']在客户的环境里,取得的值总是程序所在的服务器在其局域网内的ip值. 究其原因,是因为,客户的公司通过一台服务器连接至因特网,而我们的程序所在的服务器,是通过域名映射出来的,也就是中间有个“代理”的过程.因此$_SERVER['HTTP_HOST']在这样的环境里,取得的值总是程序所在的服务器在其局域网内的ip值. 有时项目移交到某些服务器时会出错这时…
今天再次遇到了这个问题通过$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']获取域名及请求的URL的问题,便再次百度了,发现没学习一次都有新的知识,便分享出来,供有需要的同学学习. 转载一下 最近在开发站群软件,用到了根据访问域名判断子站点的相关问题.PHP获取当前域名有两个变量 HTTP_HOST 和 SERVER_NAME,我想知道两者的区别以及哪个更加可靠. 首先我想说,百度上那些转来转去的文章都是扯淡! 有说相同的,有说不同的,都没说明原因,没…
开发站群软件,用到了根据访问域名判断子站点的相关问题,PHP获取当前域名有两个变量 $_SERVER['HTTP_HOST'] 和 $_SERVER['SERVER_NAME'],两者的区别以及哪个更加可靠? 相同点: 当满足以下三个条件时,两者会输出相同信息. 1.服务器为80端口 2.apache的conf中ServerName设置正确 3.HTTP/1.1协议规范 不同点: 1.通常情况: $_SERVER["HTTP_HOST"] 在HTTP/1.1协议规范下,会根据客户端的H…
关于这个问题,搜索引擎上搜到一大片的文章,有很多问题,在这找到一篇正确的说法:http://mimiz.cn/index.php/php/php-http_host-server_name-difference/ 转载一下 引用 最近在开发站群软件,用到了根据访问域名判断子站点的相关问题.PHP获取当前域名有两个变量 HTTP_HOST 和 SERVER_NAME,我想知道两者的区别以及哪个更加可靠. 首先我想说,百度上那些转来转去的文章都是扯淡!有说相同的,有说不同的,都没说明原因,没经过验证…
1.需求 了解预定义常量$_SERVER 2.属性 $_SERVER['REQUEST_URI'] //URI 用来指定要访问的页面.例如 "/index.html" $_SERVER['QUERY_STRING'] //query string(查询字符串),如果有的话,通过它进行页面访问. $_SERVER['PATH_INFO'] //需要在服务端设置.例如,如果当前脚本是通过 URL http://www.example.com/php/path_info.php/some/s…
在PHP网站开发中,为了满足网站的需要,时常需要对PHP环境变量进行设置和应用,在虚拟主机环境下,有时我们更需要通过PHP环境变量操作函数来对PHP环境变量值进行设置.为此我们有必要对PHP环境变量先有所熟悉.今天和大家分享PHP环境变量$_SERVER和PHP系统常量的部分详细说明. PHP环境变量主要有$GLOBALS[].$_SERVER[].$_GET[].$_POST[].$_COOKIE[].$_FILES[].$_ENV[].$_REQUEST[].$_SESSION[].$_GE…
$_SERVER["HTTP_HOST"]访问的网站的域名…
#测试网址:     http://localhost/blog/testurl.php?id=5 //获取域名或主机地址 echo $_SERVER['HTTP_HOST']."<br>"; #localhost //获取网页地址 echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php //获取网址参数 echo $_SERVER["QUERY_STRING"].&quo…
本来打算获取当前页面的url的   拼接时发现 $_SERVER['SERVER_NAME'] 并不是当前的url链接 打印整个$_SERVER  发现 [SERVER_NAME] => lvshi.beta.aa.com [HTTP_HOST] => club.beta.aa.com HTTP_HOST 才是当前的url头部这个是在一个项目多个模块,不同模块不同二级域名才会出现, SERVER_NAME 会显示config配置的默认 二级域名,不会是当前的域名也就是直接输出apache的配置…