Try this (you don't need the middle bit if you never use SSL): <cfset rootFilePath = "http" /> <cfif len(cgi.https_on)> <cfset rootFilePath = rootFilePath & "s" /> </cfif> <cfset rootFilePath = rootFilePath & "://" & cgi.server_name />
On 6/8/2010 6:28 PM, Dave Burns wrote: > In my Application.cfc's init code, I'm trying to set a variable in the > application scope that is the base URL for the pages in the app. I need this > to overcome some issues later with relative and absolute paths (using CF7 so > app-specific mappings not possible). I'm having some trouble calculating this > robustly and I wonder if I'm overlooking something simple. > > It's easy to get the base file path. I just use: this.rootFilePath = > GetDirectoryFromPath(GetCurrentTemplatePath()); > > But then I want to calc this.rootURLPath. So if the application is located in > the docroot (e.g. d:/inetpub/mysite/), I'd just get '/'. If it were located > elsewhere (e.g. d:/inetpub/mysite/a/b/c/), I'd get '/a/b/c/'. > > I can't use any of the CGI variables because at this point, we're not in the > middle of an HTTP request. What I want is the string overlap between > rootFilePath and CGI.script_name. > > Any ideas? > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:334393 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm