我正在使用URL rewriter
,我希望获得client side URL
。我试过转储CGI
,但没有关于此的信息。
如果请求的网址为:www.test.com/test/testing-data
重写后,它变为:www.test.com/test.cfm?urlData=testing-data
现在,我想得到:/test/testing-data
。
我可以使用window.location.pathname
在 JS 中获取此内容。
我的问题是:我们怎样才能使用ColdFusion
获得相同的内容?任何建议。
答案 0 :(得分:0)
问题是在将请求转发到ColdFusion App引擎之前,发生了URL重写。您可以尝试转储 gethttprequestdata()并查看主机标头是否与原始标头匹配 - 但我怀疑它是因为CGI范围已解析此数据。
您最好的选择是更改重写规则以包含URL参数。因此,在您的示例中:test.cfm?urlData=testing-data
现在可能是test.cfm?urldata=testing-data&originalpath=/test/test-data
- 或者URLEncoded等效。
我发现变量urlData已经包含了重建路径所需的数据。你不能做以下事情:
<cfset variables.mypath = '/test/' & url.urlData>
这看起来像你想要的不是吗?