ColdFusion获取客户端URL

时间:2015-09-04 13:18:48

标签: coldfusion url-rewriting coldfusion-11

我正在使用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获得相同的内容?任何建议。

1 个答案:

答案 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>

这看起来像你想要的不是吗?