return dispatch.url on non-matching protocol, fix url building