dynamic canonicals and 404