我将Google评论网址存储在我的数据库中:
https://www.google.com/search?CFID=ac59cfdf-bbad-4017-9759-e88054f3f242&CFTOKEN=0&q=njcomputerrepair%2Bbrick%2Bnj&oq=njcomp&aqs=chrome.1.69i60j69i59j69i60j69i57j0l2.2762j0j9&sourceid=chrome&ie=UTF-8#lrd=0x89c18348735c2907:0x59aa614832a36b22,3,
然后在我的应用程序中,我将该URL设置为变量,并使用cflocation将用户重定向到该URL。
<cfquery name="geturl" datasource="#datasource#">
select (residential_ReviewURL) as redirectURL
from subscribers
</cfquery>
<!--- Redirect to main html redirect page --->
<cfoutput>
<cflocation url="#getURL.redirectURL#">
</cfoutput>
然而,URL在某些时候会发生变化,因为我认为Coldfusion不喜欢URL中的字符,而是将它们替换为%或删除它们。因此,当用户点击谷歌页面时,页面不会按预期进行处理。
以下是重定向后网址的显示方式:
https://www.google.com/search?CFID=ac59cfdf-bbad-4017-9759-e88054f3f242&CFTOKEN=0&CFID=ac59cfdf-bbad-4017-9759-e88054f3f242&CFTOKEN=0&q=njcomputerrepair%2Bbrick%2Bnj&oq=njcomp&aqs=chrome.1.69i60j69i59j69i60j69i57j0l2.2762j0j9&sourceid=chrome&ie=UTF-8#lrd%3D0x89c18348735c2907%3A0x59aa614832a36b22%2C3%2C
如何阻止ColdFusion更改URL并保持id与数据库中的存储方式完全相同?
所以我发现URLdecode会保留字符串。这就是我所拥有的。
#urlDecode(getURL.redirectURL)#
输出如下
为什么要在网址中添加CFID和CFTOKEN?我在Application.CFM中关闭了它:
<cfapplication name="yaya"
clientmanagement="no"
sessionmanagement="no"
setclientcookies="no"
setdomaincookies="no"
sessiontimeout="#CreateTimeSpan(0,2,0,0)#"
applicationtimeout="#CreateTimeSpan(1,0,0,0)#"
>
答案 0 :(得分:0)
要帮助其他人来到这里:
cflocation
有一个参数addToken
,如果我们不想将no
和CFID
添加到生成的URL,则需要将其设置为CFTOKEN
。 / p>
Adobe CFML参考:https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-tags/tags-j-l/cflocation.html