anchor.diff:  		rc.webrootdirectory = GetDirectoryFromPath( CGI.CF_TEMPLATE_PATH );
   		rc.clientfilesdirectory = "_clientfiles";
   		rc.subdirectory = "";
  -		if ( !IsNull( rc.subdirectory ) ) rc.subdirectory = Replace( ReReplace( Replace( rc.subdirectory, "*", "", "all" ), "(\.){2,}", "", "all" ), ":", "\", "all" );
  +		if ( !IsNull( rc.subdirectory ) ) rc.subdirectory = Replace( ReReplace( Replace( rc.subdirectory, "*", "", "all" ), "(\.){2,}", "", "all" ), ":", "/", "all" );
   		rc.currentdirectory = rc.webrootdirectory & rc.clientfilesdirectory & rc.subdirectory;
   		if ( !variables.FileManagerService.isDirectory( rc.currentdirectory ) ) rc.message.error = "Sorry, the requested " & rc.subdirectory & " is not valid.";
   	}
  
positive.code: 	
  	private string function urlSafePath( required string path )
  	{
  		var result = Replace( arguments.path, "\", ":", "all" );
  		if ( !Len( Trim( result ) ) ) result = "*";
  		return result;
  	}
  
negative.code: 	{
  		param name="rc.newdirectory" default="";
  		var newdirectory = ReReplaceNoCase( Trim( rc.newdirectory ), "[^a-z0-9_\-\.]", "", "all" );
  		var result = variables.FileManagerService.createDirectory( rc.currentdirectory & "/" & newdirectory );
  		rc.messages = result.messages;
  		if( result.theobject.mkdirs() && StructKeyExists( result.messages, "success" ) ) variables.fw.redirect( action="filemanager.default", querystring="subdirectory=#urlSafePath( rc.subdirectory & "/" & newdirectory )#", preserve="messages" );
  		else variables.fw.redirect( action="filemanager.default", querystring="subdirectory=#urlSafePath( rc.subdirectory )#", preserve="messages" );
  	} 
  
  