I know this question has been asked before, I think I've read most of the answers:
make a menu item for the article
hack the core (router)
use a paid SEO extension like sh404sef
None of these really answer the question. If a $40/year extension can do this, it must be possible by writing some code, overriding some class or something similar. Does anyone know how this is done. This is an obvious option that should be in the core admin.
Adding a menu item sounds fine until you have hundreds of articles.
Hacking the core is just plain desperation.
A $40/year extension won't break the bank, except it does 100 other things I don't need and my client will probably not update it after the first year.
rewrites, see adding menu items.