我必须使用SSI获取URL和参数(仅限SSI),但我找不到任何解决方案。
例如:http://www.test.com/abc.html?data=something
我必须得到参数“data”的值。
答案 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)
首先是免责声明!我绝不是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后了解这些内容。
编辑,在没有找到数据属性的情况下,使其不打印任何内容而不是整个字符串。