You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CFML中获取当前URL?已知getCurrentTemplatePath()方法

在CFML中获取当前完整URL的方法

如果你需要获取用户访问的完整URL(比如示例中的https://www.mypage.com/subfolder/iamhere.html),可以用以下两种方式实现:

方法一:通过CGI变量手动拼接(全CFML引擎兼容)

这种方式适用于所有CFML引擎(Adobe ColdFusion、Lucee等),通过拼接CGI环境变量的各个部分得到完整URL:

<cfset currentUrl = cgi.scheme & "://" & cgi.server_name>

<!--- 仅当端口非默认值时添加(http默认80,https默认443) --->
<cfif (cgi.scheme eq "http" and cgi.server_port neq 80) or (cgi.scheme eq "https" and cgi.server_port neq 443)>
    <cfset currentUrl &= ":" & cgi.server_port>
</cfif>

<!--- 添加访问路径 --->
<cfset currentUrl &= cgi.script_name>

<!--- 如果有查询字符串,追加到URL后 --->
<cfif len(cgi.query_string)>
    <cfset currentUrl &= "?" & cgi.query_string>
</cfif>

<!--- 输出结果 --->
<cfoutput>#currentUrl#</cfoutput>

方法二:使用Adobe ColdFusion内置函数(仅ACF可用)

如果你使用的是Adobe ColdFusion 9及以上版本,可以直接调用内置的GetCurrentUrl()函数,一步获取完整URL:

<cfset currentUrl = GetCurrentUrl()>
<cfoutput>#currentUrl#</cfoutput>

注意:getCurrentTemplatePath()返回的是服务器本地的物理文件路径,和用户访问的URL属于不同概念,无法通过它直接转换得到当前URL。

内容的提问来源于stack exchange,提问作者Userx10xC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 17:12:05