我有一个 URL,我想从中获取最终页面名称。例如,如果我的 url 是 http://www.mysite.com/mypage.cfm
,那么我想获取值 mypage.cfm
。我尝试使用谷歌搜索来查找是否有任何内置的 coldfusion 函数可以帮助我完成此操作,但我一直找不到。所以,我一开始所做的是实现一种“endsWith”函数(它似乎在 coldfusion 中也不可用)——像这样:
<cfif right(cgi.http_referer, len("mypage.cfm")) EQ "mypage.cfm">
... do whatever I want to do if the page is "mypage.cfm" ...
这工作得很好......问题是如果有一个查询字符串附加到 url,这将无法工作。例如,如果 url 是 http://www.mysite.com/mypage.cfm?param=whatever
,则 if 语句的计算结果为 false。
通过使用 FindNoCase
检查 url 是否包含页面名称,我或许可以安全地完成我正在尝试做的事情...但是,这似乎并不直观或不正确。从 coldfusion 中的 url 中删除页面名称的最佳方法是什么?
最佳答案
本身没有内置函数,但列表函数应该做:
<cfset pageName = listFirst(listLast(CGI.HTTP_Referer, '/'), '?')>
关于parsing - 如何从 URL 解析页面名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4942721/