如何获得没有查询参数的SSI变量REQUEST_URI
问题描述:
我试图获取REQUEST_URI的路径名部分,没有查询参数。我需要在原始SSI中执行此操作,而不需要任何PHP或任何东西。如何获得没有查询参数的SSI变量REQUEST_URI
如果我做了类似<!--#echo var="REQUEST_URI" -->
的操作,将输出路径名和查询参数,因此如果浏览器URL显示http://example.com/foo.html?bar,那将返回/foo.html?bar
。但我只需要返回/foo.html
。有没有办法在echo
声明中直接执行此操作?
注意:它只需要使用请求的uri。服务器上的实际文件路径非常不同,我无法显示这些路径。
答
此代码的工作对我来说:
<!--#if expr="$REQUEST_URI = /([^?]+)\?.*/" -->
<!--#set var="URL_WITHOUT_QUERY_STRING" value="$1" -->
<!--#echo var='URL_WITHOUT_QUERY_STRING' -->
<!--#endif -->
为什么downvote?这对某人来说不清楚吗? – andi