如何从URL解析页面名称?

fro*_*die 2 url coldfusion parsing

我有一个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" ...
Run Code Online (Sandbox Code Playgroud)

这工作得很好......问题是如果有一个查询字符串附加到网址,这将无法正常工作.例如,如果url是http://www.mysite.com/mypage.cfm?param=whatever,则if语句将评估为false.

通过检查url是否包含页面名称FindNoCase,我可以安全地完成我想要做的事情......但是,这似乎不那么直观或正确.从coldfusion中的网址中删除页面名称的最佳方法是什么?

ora*_*ips 7

本身没有内置函数,但列表函数应该:

<cfset pageName = listFirst(listLast(CGI.HTTP_Referer, '/'), '?')>
Run Code Online (Sandbox Code Playgroud)

  • 很好,也可以使用`GetFileFromPath`作为内部步骤,它也处理URL. (2认同)