使用SSI获取URL和参数
我必须使用SSI(仅使用SSI)获取URL和参数,但我找不到任何解决方案 例如:使用SSI获取URL和参数,url,parameters,get,ssi,Url,Parameters,Get,Ssi,我必须使用SSI(仅使用SSI)获取URL和参数,但我找不到任何解决方案 例如: 我必须得到参数“data”的值。我知道一个老问题,但我只是在自己做SSI的时候遇到它。我相信你现在已经解决了你的问题,但如果这对你没有帮助,也许会对其他人有帮助。我假设服务器是Apache。(如果没有,那么我想这是行不通的!) 首先是免责声明!我绝不是apache、sed或regex大师,所以我确信下面的内容可以改进,但这可能是一个开始。它只打印相对于站点基础和数据查询参数的页面 <!--#echo var=
我必须得到参数“data”的值。我知道一个老问题,但我只是在自己做SSI的时候遇到它。我相信你现在已经解决了你的问题,但如果这对你没有帮助,也许会对其他人有帮助。我假设服务器是Apache。(如果没有,那么我想这是行不通的!) 首先是免责声明!我绝不是apache、sed或regex大师,所以我确信下面的内容可以改进,但这可能是一个开始。它只打印相对于站点基础和数据查询参数的页面
<!--#echo var="DOCUMENT_URI" -->
<!--#exec cmd="echo '$QUERY_STRING' | sed -n 's/\([^&]*&\)*data=\([^&]*\).*/\2/p'" -->
我找到了一个apache环境变量列表,并想知道一旦检索到它,您可以对它做些什么
编辑使其在找不到数据属性时不打印任何内容,而只打印整个字符串。
<!-- 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" -->
我会将/data
更改为/\bdata
(\b
是单词边界)以避免匹配变量,如iamnotdata
。