我在我的数据库中存储了一个谷歌评论 URL:
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 中的字符,它会将它们替换为 % 或删除它们。因此,当用户点击 google 页面时,页面不会按应有的方式处理。
以下是重定向后 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)#
输出如下
为什么要在 URL 中添加 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)#"
>