In index.cgi I hard-coded file_dir, data_dir and file_base. The first two make Aether find files on the filesystem correctly, and the last one makes it send the correct URLs in pages it renders.
In /etc/httpd/conf.d/emergent, I write these directives:
RewriteEngine on RewriteRule ^/index.cgi-files/ - [L] RewriteRule ^/files/(.*)$ /index.cgi-files/$1 [L] RewriteRule ^/index.cgi/ - [L] RewriteRule ^/index.cgi$ /index.cgi/ [L] RewriteRule ^(.*)$ /index.cgi/$1Their effect is to, well, make everything work right. The first and third directives ensure that paths beginning with /index.cgi-files/ and /index.cgi/ are passed through unchanged, for compatability with old URLs. The second rule makes /files an alias for /index.cgi-files. The next to last rule makes the old "index.cgi" without trailing slash continue working. The last rule rewrites everything else so that it is handled by index.cgi.