refactor all url canonicalization to be rule-based