- nongnu: www.nongnu.org/project/ and project.nongnu.org
- gnu: gnu.org/software/project (shortcut gnu.org/s/project)
No symlinks (sysadmin@ says: "security reasons" and "there's also the fact that CVS doesn't handle symlinks") - use .symlinks instead. Add a file named .symlinks in each directory where you want to make symbolic links. Each line of the file lists a real file name followed by the name of the symbolic link. The symbolic links are built every hour.
No .htaccess either, for the same reason - it would allow to bypass this symlinks setup (based on mod_rewrite).
This is not trivial because all of www.gnu.org is stored and managed in CVS, with multiple repositories.
At a point, GNU webmasters needed the privilege to edit any CVS web repository. However they now don't edit these repositories directly anymore, so we don't need to implement this requirement anymore.
This post explains how Fedora moved from CVS to Git in 2010 for their 1K package repositories (with shared state). We probably can do it for www.gnu.org too. http://lists.fedoraproject.org/pipermail/devel-announce/2010-July/000647.html
Such a change would require coordination with the FSF sysadmins, who run www.gnu.org.
www.nongnu.org however might be moved to Savannah if necessary so we make changes directly to the replication process.