Index.vuh is the easiest solution here.
Also I would like to suggest to avoid using object_ids where you don't have to.
For example
https://openacs.org/forums/forum_id=14013
or
https://openacs.org/forums/openacs-general/
You'd probably still have to use the message_id as the tail of the url like this:
https://openacs.org/forums/openacs-general/12345
Forums doesn't support this yet, but when I get a chance, I would like to make this change.
Using the content-repository, this is easier, because cr_items.name which is often used to build a URL is unique when combined with parent_id, which is often a cr_folder, so you end up with URLs like
http:///example.com/folder-name/item-name
If an object doesn't have a usuably pretty name, just use the object_id as the name, guaranteed to be unique, and you end up with a result similar to the forums message example.