I have no idea how to describe this or look it up, but I have spent years looking for the answer. I'm hoping people here can help.

When I make websites, I have to make pages which end up at locations like example.com/pages.html, or example.com/book.php. I could also use PHP and make pages like example.com/?p=questions, but even that's a little annoying. What I'd like to do is write clean URLs without a lot of extra stuff, like example.com/pages, example.com/book, example.com/questions. How can I do this?

I know I can do things like create a series of folders in my hosting environment with separate pages, but I'm hoping to take a simpler approach. This can get cumbersome, especially with larger sites.

What's the best way to do this?

Also, what is this called?