2015-09-04 144 views
1

我使用的是URL rewriter,我想获得client side URL。我试图倾销CGI,但没有关于此的信息。ColdFusion获取客户端URL

如果请求的URL是:www.test.com/test/testing-data

,改写后变成了:www.test.com/test.cfm?urlData=testing-data

现在,我想:/test/testing-data

我可以通过使用window.location.pathname得到此JS

我的问题是:我们怎样才能得到相同的使用ColdFusion?有什么建议么。

回答

0

问题是URL请求重写发生在之前请求被转发到ColdFusion App引擎。您可以尝试倾销gethttprequestdata()并查看主机标头是否与原始标头匹配 - 但我怀疑它是CGI作用域已解析此数据。

最好的办法是改变重写规则以包含URL参数。所以在你的例子中:test.cfm?urlData=testing-data现在可以是test.cfm?urldata=testing-data&originalpath=/test/test-data - 或者URLEncoded equivilant。

它发生在我身上,变量urlData已经包含您需要重建路径的数据。难道你不能只是这样做:

<cfset variables.mypath = '/test/' & url.urlData> 

这似乎是你想要什么没有?

+0

重建路径可以在页面级完成,但我希望它在模板中。 – Beginner

+0

我想我不明白你的结局。你想要它“模板” - 意味着什么?如果它在一个变量中,它是一个变量 - CGI,URL,表单,变量......有什么区别? –

+0

“X-REWRITE-URL”标题是否包含您所追求的内容? –