improved redirect_to to behave more like url_for