Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | 51CTO学院 | CSDN程序员研修院 | OSChina 博客 | 腾讯云社区 | 阿里云栖社区 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏多维度架构

第 12 章 SSI

目录

12.1. SSI 环境变量
12.1.1. QUERY_STRING GET参数传递
12.1.2. SERVER_NAME 与 HTTP_HOST
12.2. set
12.3. echo
12.4. 包含网页
12.5. if 条件判断
12.6. FAQ 常见问题
12.6.1. SERVER_NAME 与 HTTP_HOST 有什么不同?

12.1. SSI 环境变量

显示所有环境变量

		
<!--#printenv -->
		
		
HTTP_USER_AGENT=curl/7.29.0
HTTP_ACCEPT=*/*
LAST_MODIFIED=Tuesday, 03-Nov-2015 09:57:28 HKT
DOCUMENT_URI=/
REMOTE_PORT=37482
SERVER_NAME=224.25.22.70
SERVER_SOFTWARE=Apache Tomcat/7.0.65 OpenJDK 64-Bit Server VM/20.0-b12 Linux
SCRIPT_FILENAME=/srv/apache-tomcat/webapps/ROOT/index.html
DATE_LOCAL=Tuesday, 03-Nov-2015 09:57:31 HKT
SERVER_ADDR=224.25.22.70
SERVER_PROTOCOL=HTTP/1.1
REQUEST_METHOD=GET
DOCUMENT_NAME=
SERVER_PORT=8080
SCRIPT_NAME=/index.html
REMOTE_ADDR=202.130.11.34
DATE_GMT=Tuesday, 03-Nov-2015 01:57:31 GMT
REMOTE_HOST=202.130.101.34
HTTP_HOST=224.25.22.70:8080
QUERY_STRING=
GATEWAY_INTERFACE=CGI/1.1
org.apache.catalina.ssi.SSIServlet=true
REQUEST_URI=/
		

12.1.1. QUERY_STRING GET参数传递

例如我们需要实现一个功能,test.html?后面的参数需要传递到页面中。

			
http://www.netkiller.cn/lp/test.html?utm_source=ss&utm_medium=baidusem&utm_campaign=lpgrant			
			
			
			
<a href="<!--#echo var="WWW_URL"-->/customer/CreateAccount.do?<!--#echo var="QUERY_STRING"-->">新建用户</a>
			
			

12.1.2. SERVER_NAME 与 HTTP_HOST

server {
    listen      80;
    listen 		443 ssl http2;
    server_name api.netkiller.com api.neo.com api.chen.com;
}
			

SERVER_NAME 如果一个主机配置多个域名,那么SERVER_NAME是域名列表中的第一个域名api.netkiller.com

HTTP_HOST 是当前进入网站的域名