$routeProvider.when('/:region/:country/:city', ...
And in the controller:
$routeParams.region $routeParams.country $routeParams.city
Beware that each of the three parameters of the road corresponds to this formulation, which means:
If you have 2 roads in this order:
$routeProvider.when('/:region/:country/:city', ... $routeProvider.when('/:user/:name/:birthdate', ... /one/two/three => /:region/:country/:city /12/john/1987 => /:region/:country/:city
If you invert it:
$routeProvider.when('/:user/:name/:birthdate', ... $routeProvider.when('/:region/:country/:city', ... /one/two/three => /:user/:name/:birthdate /12/john/1987 => /:user/:name/:birthdate
Therefore, I believe that it is best to set a fixed start route:
$routeProvider.when('/geo/:region/:country/:city', ... /geo/IDF/France/Paris => /geo/:region/:country/:city
[EDIT] To do what you explain in the comment:
What would I do:
$routeProvider.when(':region/:country?/:city?', ...
Pay attention to ?, this means that the parameter is optional.
He will allow:
NA NA/Mexico NA/Mexico/Cancun
And you have a controller with your $ routeParams if the parameter is zero, if you have two or three parameters.