I'm working on another solution myself, which makes a site truly dynamic, indexable and gives it the ability to be changed across the board in a matter of minutes. However I'm not sure if it'll ever go on general release because I don't think there's the demand for it, particularly with the upsurge in NT server usage. Also, this solution is currently limited to Apache or equivalents.
That said, I'll give you a basic rundown, it might be a help in developing a system yourself.
The whole site, or areas of the site are controlled by one cgi script, however rather than feeding data into the script in the regular manner (i.e. by a URL-encoded string), the data is retrieved by the script using the REQUEST_URI environment variable. This is achieved by rewriting requests under a certain directory using the Apache module mod_rewrite, like this:
RewriteEngine on
RewriteRule ^sites/3.* /cgi/sites/3/index.cgi [T=application/x-httpd-cgi]
This tells the server to rewrite any request for anything under /sites/3 on the server to the file /cgi/sites/3/index.cgi, and marks this file as a cgi script.
The script then checks the REQUEST_URI to see where users (think they) are on the server, and delivers the appropriate content. The benefits of this system are that you can create navigation and location bars by simply stripping the REQUEST_URI and rebuilding it appropriately. At present, the system pulls content from files in a certain directory, using the REQUEST_URI as an identifier, for example, a request for /sites/3/dir1/dir2/ will be related to a file called dir1.dir2.dat in a common directory. But I will shortly be modifying it to pull the data from a flat-file database, which means other data could be included in a more organised fashion, i.e. Last Modified, Author, etc.
There are distinct advantages and disadvantages of a system like this. The no.1 advantage is that the main design of the site can be modified in a matter of minutes. For instance, changing the complete design of the site can be achieved by editing just one file; adding a new area and button on the navbar, by editing an associative array, or a flatfile database. And almost as important, because the search engines won't know that the returned content is from a cgi script, your pages get indexed correctly. Add to this the fact that you can change your META tags across the board in a moment, and with a little research, your site will be top of the rankings all the time.
The disadvantage can be speed. Because everything is delivered from one cgi script, this will put a little extra overhead on the server. However, I might also point out that using SSI to achieve a very basic version of the same effect will also add an overhead. With a little extra work, you could easily have the script create copies of itself and have mod_rewrite balance the load on them. However, when all is said and done, unless your site is very large, and/or uses a lot of bandwidth, there shouldn't be too much of a problem.
You can see a sample of this in action at
http://iewebs.com/sites/3/ , however please note that this is an experimental install, there's very little content there (I think you can only get as far as
http://iewebs.com/...gn/sites/corkcityfc/ . But it does demonstrate the dynamic ability of the set-up. Notice the buttons in the Global Navigation bar highlight themselves as you change area, and the JavaScript preloads only create the content needed for the page; the location hyperlinks each directory, and highlights the active one; and the Local Navigation contains only information pertinent to that area. All this is achived using a few arrays and associative arrays, and will later be controlled by installs of dbMan. An install of FileMan would complete the picture, meaning you wouldn't even have to FTP into the server to perform updates.
I hope all this helps give you a few ideas for your own site...
adam