In the Coldbox SES.cfc intercepter / onRequestCapture function I see this:
// AppMapping for BaseURL Construction
var appMapping = ( len( getSetting( ‘AppMapping’ ) lte 1 ) ? getSetting( ‘AppMapping’ ) & “/” : “” );
// Activate and record the incoming URL for multi-domain hosting
arguments.event
.setSESEnabled( true )
.setSESBaseURL(
“http” &
( event.isSSL() ? “s” : “” ) &
“://#cgi.HTTP_HOST#/#appMapping#” &
( variables.fullRewrites ? “index.cfm” : “” )
);
So if my AppMapping setting is blank it sets var AppMapping to “/” (getSetting( ‘AppMapping’ ) & “/”) .
If http_host is yourdomain.com the next section sets SESBaseURL as “http://yourdomain.com//” with two forward slashes on the end (http & ://yourdomain.com & / & /). This SESBaseURL then gets used in RequestContext.cfc for buildLink which causes double forward slashes after domain.
Wondering - is this a bug or should my AppMapping setting never be blank? Or am I completely looking at this wrong?
I don’t believe so. Adding appMapping = left( appMapping, 1 ) == “/” ? appMapping : “/#appMapping#”; still results in appMapping being equal to “/” if that’s what the statement above it set it to so the second part still duplicates the “/”. I pasted in the entire edited cfc and tried it and still the same. Perhaps code elsewhere changed but I don’t think would affect this particular issue…