this.around(function(cb){
var ctx = this, re = /^\/(#\/)?(([^\/\?]+)(\/.*)?)?/,
locn = ctx.app.getLocation(), path = locn.match(re), hasHash = path && path[1] !== undefined && path[1] !== null;
// do we need to change our path for /#/ for html4, or / for html5?
if (hasHistory && hasHash) {
ctx.redirect("/"+path[2]);
} else if (!hasHistory && !hasHash){
ctx.redirect("/#"+locn);
} else {
cb();
}
});