Support push, replace and redirect