It's not unique enough, as an example with a route:
/album[/:action][/:id][/:page]
id and page are optional, and both can be integers
if we try to match this route:
/album/index/99
the 99 could match id, with page not being present, or also page, with id not being present. there's no way to know which is which, so this will not work.
You could add in an identifier, something like this:
/album[/:action][/id/:id][/:page]
so then you would have a literal in there to make sure you know it's an id:
/album/index/id/99 # :id = 99
or /album/index/99 # :page = 99