【问题标题】:Get URL and parameters with SSI使用 SSI 获取 URL 和参数
【发布时间】:2011-04-13 13:56:18
【问题描述】:

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

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

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

【问题讨论】:

    标签: url parameters get ssi


    【解决方案1】:
    <!-- 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 等变量。
    【解决方案2】:

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

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

    <!--#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

    已编辑,以便在未找到数据属性时打印任何内容而不是整个字符串。

    【讨论】:

      猜你喜欢
      • 2014-11-11
      • 2022-01-07
      • 2015-04-11
      • 1970-01-01
      • 1970-01-01
      • 2017-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多