使用SSI获取URL和参数

时间:2010-09-17 06:20:29

标签: url parameters get ssi

我必须使用SSI获取URL和参数(仅限SSI),但我找不到任何解决方案。

例如:http://www.test.com/abc.html?data=something

我必须得到参数“data”的值。

2 个答案:

答案 0 :(得分:23)

<!-- set default value for SSI variable "data" -->    
<!--#set var="data" value="" -->

<!-- get "data" value from URL --> 
<!--#if expr="$QUERY_STRING = /data=([a-zA-Z0-9]+)/" -->
<!--#set var="data" value="$1" -->
<!--#endif -->

<!-- print the "data" value -->     
<!--#echo var="data" -->

答案 1 :(得分:0)

我知道这个老问题,但我自己也在做一些SSI时遇到过它。我相信你现在已经解决了你的问题,但如果这对你没有帮助,也许会有其他人。我假设服务器是Apache。 (如果没有,那么我想这不会起作用!)

首先是免责声明!我绝不是apache,sed或regex master,所以我确信接下来的内容可以改进,但它可能是一个开始。它只打印相对于站点基础的页面和数据查询的参数。

<!--#echo var="DOCUMENT_URI" -->
<!--#exec cmd="echo '$QUERY_STRING' | sed -n 's/\([^&]*&\)*data=\([^&]*\).*/\2/p'" --> 

我找到了一个apache环境变量列表here: http://www.zytrax.com/tech/web/env_var.htm,并在找到这些内容look here: http://httpd.apache.org/docs/2.0/howto/ssi.html后了解这些内容。

编辑,在没有找到数据属性的情况下,使其不打印任何内容而不是整个字符串。