This is a step-by-step guide that shows what I have done to make Ant's releases mirrorable. The process should be the same for other Jakarta and XML projects, but if I have missed something, please tell me (and maybe submit a patch to this page).
/www/www.apache.org/dist/jakarta/your-project
      as well as
      /www/www.apache.org/dist/jakarta/your-project/source
      and
      /www/www.apache.org/dist/jakarta/your-project/binaries.
      Maybe you need platform specific subdirectories under the
      binaries directory as well./www/www.apache.org/dist/jakarta/your-project
      as described in http://www.apache.org/dev/mirrors.html/www/www.apache.org/dist/jakarta/.htaccess.  There
      may be more than one.http://www.apache.org/dist/jakarta/your-project/
      as well as the subdirectories to ensure everything looks the way
      you want it to be..htaccess file inside the
      "old" download directory for your-project.
      The contents are too dependent on your former release directory
      layout to give hard rules here.  As an example, Ant's 1.5.1
      release directory was
      /builds/jakarta-ant/release/v1.5.1 and had
      subdirectories src, bin and
      rpms.  The .htaccess in
      /www/jakarta.apache.org/builds/jakarta-ant/release/
      now looks like this:
Redirect Permanent /builds/jakarta-ant/release/KEYS http://www.apache.org/dist/ant/KEYS Redirect Permanent /builds/ant/release/KEYS http://www.apache.org/dist/ant/KEYS Redirect /builds/jakarta-ant/release/v1.5.1/src http://www.apache.org/dist/ant/source Redirect /builds/jakarta-ant/release/v1.5.1/bin http://www.apache.org/dist/ant/binaries Redirect /builds/jakarta-ant/release/v1.5.1/rpms http://www.apache.org/dist/ant/binaries/rpms Redirect /builds/jakarta-ant/release/v1.5.1 http://www.apache.org/dist/ant Redirect /builds/ant/release/v1.5.1/src http://www.apache.org/dist/ant/source Redirect /builds/ant/release/v1.5.1/bin http://www.apache.org/dist/ant/binaries Redirect /builds/ant/release/v1.5.1/rpms http://www.apache.org/dist/ant/binaries/rpms Redirect /builds/ant/release/v1.5.1 http://www.apache.org/dist/ant
log-analyzer-daily.pl
      and send it to Vadim Gritsenko (vgritsenko at apache dot org) so
      that your project doesn't get dropped from his statistics pages
      http://www.apache.org/~vgritsenko/stats/daily.html.If your-project is a Jakarta project and has no
    download pages of its own, all you need to do is to add a link to
    the "Using a mirror" list under "Release" on
    /xdocs/site/binindex.xml and
    /xdocs/site/sourceindex.xml in the jakarta-site2
    module, regenerate the HTML pages and commit everything.  For the
    links you'd simply replace http://www.apache.org/dist
    with [preferred] in your download URL.
If you want something more sophisticated (or simply have download pages of your own or are not under the Jakarta umbrella), read on.
The old way to send people to the mirrors has been a link to
    http://www.apache.org/dyn/closer.cgivirtual-path
    where virtual-path would be replaced by your download URL
    minus http://www.apache.org/dist.  This still works
    but has the drawbacks that you don't have control over the layout
    of that page and that users may use the signatures found on the
    mirrors to verify the releases instead of picking them up from
    www.apache.org.
To solve the layout problem, Justin Erenkrantz (and others?)
    have written
    http://www.apache.org/dyn/mirrors/mirrors.cgi which
    parses a template and replaces certain [expression]s
    with something useful.  To write and use a template of your own,
    you currently need to do three things.
.cgi) to your site.  This script must look like
        this:
#!/bin/sh # Wrapper script around mirrors.cgi script # (we must change to that directory in order for python to pick up the # python includes correctly) cd /www/www.apache.org/dyn/mirrors /www/www.apache.org/dyn/mirrors/mirrors.cgi $*Well, you could probably trim the comments. Ensure that the checked out file on minotaur is executable and has Unix line-ends. Subversion in general will not translate line endings for you unless you tell it).
mirrors.cgi where to find your template.
      To do so, you need to add a line to
      /docs/dyn/mirrors/mirrors.conf in the site module
      (in https://svn.apache.org/repos/asf/infrastructure/site/trunk/)
      This file is under SVN control, don't edit the checked
      out copy on minotaur directly. If there is no section
      for your virtual host, add it.  Next add the virtual path to
      your CGI script from above (replacing / with
      -) as key and the full physical path of your
      template as value.  You will need commit access to the site
      module to do this (all ASF members have) - if you don't have
      karma for it, send a patch to infrastructure at
      apache.After updating both
    /www/www.apache.org/dyn/mirrors/mirrors.conf and your
    site, your new download page should show up, when you access your
    CGI script.
Old releases should be copied to http://archive.apache.org/dist/
    - simply follow the same directory layout that your distribution
    under www.apache.org uses.  You find the site in
    /www/archive.apache.org on minotaur.
    
Once you start distributing via www.apache.org you can forget carying for your old releases as archive.apache.org will automatically archive everything that has been on www.apache.org.