A web server is just a bit of software that listens for an incoming request, and when it gets one, it sends back some sort of response.
Traditionally, servers (e.g. Apache / IIS serving normal HTML files) would look at the incoming request, find the corresponding file on their local filesystem (e.g. for /home/about.html, they'll look in the home folder for a file called about.html), and send the contents of that file back to the client making the request. This is fast, lightweight and very easy to implement - but it is only one possible way to build a web server. Most web servers offer the ability to override this behaviour and do something much smarter with incoming requests.
What you need to do is configure your web server itself (IIS, Apache, lighttpd, whatever) to direct requests to a specific script or resource.
In IIS on Windows, there are two ways of achieving this.
The first is to configure IIS "Custom Errors" feature and map the 404 error page to, say, /MyCms/FindPage.asp - this means any time a client requests a page that isn't physically present, your web server will run that ASP page instead, and then inside that page, you can extract the original request URL (/home/info/events.html), look it up in a database or something, and return it. The client will be unaware this has happened.
For a more powerful alternative, you can use wildcard application mapping as suggested in olle's post - this will map EVERY request (not just the "not found" ones) to your CMS script or handler.