# please keep sections in alpha order

# Graduated podlings
# N.B. Redirect  /abc baseUrl also redirects /abc/def to baseUrl/def

Redirect Permanent /abdera http://abdera.apache.org
Redirect Permanent /accumulo http://accumulo.apache.org
Redirect Permanent /ace http://ace.apache.org
Redirect Permanent /activemq http://activemq.apache.org
Redirect Permanent /airavata http://airavata.apache.org
Redirect Permanent /allura http://allura.apache.org
Redirect Permanent /ambari http://ambari.apache.org
Redirect Permanent /amber http://oltu.apache.org
Redirect Permanent /any23 http://any23.apache.org
Redirect Permanent /apollo http://ws.apache.org/wsrf
Redirect Permanent /aries http://aries.apache.org
Redirect Permanent /batchee http://geronimo.apache.org/batchee
Redirect Permanent /beam https://beam.apache.org
Redirect Permanent /beehive http://beehive.apache.org
Redirect Permanent /bigtop http://bigtop.apache.org
Redirect Permanent /bloodhound http://bloodhound.apache.org
Redirect Permanent /buildr http://buildr.apache.org
Redirect Permanent /bval http://bval.apache.org
Redirect Permanent /callback http://cordova.apache.org
Redirect Permanent /cassandra http://cassandra.apache.org
Redirect Permanent /cayenne http://cayenne.apache.org
Redirect Permanent /celix http://celix.apache.org
Redirect Permanent /chemistry http://chemistry.apache.org
Redirect Permanent /chukwa http://chukwa.apache.org
Redirect Permanent /clerezza http://clerezza.apache.org
Redirect Permanent /click http://click.apache.org
Redirect Permanent /climate http://climate.apache.org
Redirect Permanent /cloudstack http://cloudstack.apache.org
Redirect Permanent /cordova http://cordova.apache.org
Redirect Permanent /couchdb http://couchdb.apache.org
Redirect Permanent /crunch http://crunch.apache.org
Redirect Permanent /ctakes http://ctakes.apache.org
Redirect Permanent /curator http://curator.apache.org
Redirect Permanent /cxf http://cxf.apache.org
Redirect Permanent /deltacloud http://deltacloud.apache.org
Redirect Permanent /deltaspike http://deltaspike.apache.org
Redirect Permanent /derby http://db.apache.org/derby
Redirect Permanent /devicemap http://devicemap.apache.org
Redirect Permanent /directmemory http://directmemory.apache.org
Redirect Permanent /directory http://directory.apache.org
Redirect Permanent /drill http://drill.apache.org
Redirect Permanent /eagle http://eagle.apache.org
Redirect Permanent /easyant http://ant.apache.org/easyant
Redirect Permanent /empire-db http://empire-db.apache.org
Redirect Permanent /esme http://esme.apache.org
Redirect Permanent /etch http://etch.apache.org
Redirect Permanent /felix http://felix.apache.org
Redirect Permanent /flex http://flex.apache.org
Redirect Permanent /flume http://flume.apache.org
Redirect Permanent /ftpserver http://mina.apache.org/ftpserver
Redirect Permanent /geode http://geode.apache.org
Redirect Permanent /geronimo http://geronimo.apache.org
Redirect Permanent /giraph http://giraph.apache.org
Redirect Permanent /gora http://gora.apache.org
Redirect Permanent /hama http://hama.apache.org
Redirect Permanent /harmony http://harmony.apache.org
Redirect Permanent /hcatalog http://hive.apache.org
Redirect Permanent /helix http://helix.incubator.apache.org/
Redirect Permanent /hermes http://ws.apache.org/pubscribe
##httpd-cli - where did that go?
Redirect Permanent /ibatis http://ibatis.apache.org
Redirect Permanent /ivy http://ant.apache.org/ivy
Redirect Permanent /jackrabbit http://jackrabbit.apache.org
Redirect Permanent /jaxme http://ws.apache.org/jaxme
Redirect Permanent /jclouds http://jclouds.apache.org
Redirect Permanent /jdo http://db.apache.org/jdo
Redirect Permanent /jena http://jena.apache.org
Redirect Permanent /jspwiki http://jspwiki.apache.org
Redirect Permanent /juddi http://juddi.apache.org
Redirect Permanent /knox http://knox.apache.org
Redirect Permanent /lenya http://lenya.apache.org
Redirect Permanent /libcloud http://libcloud.apache.org
Redirect Permanent /log4cxx http://logging.apache.org/log4cxx
Redirect Permanent /log4net http://logging.apache.org/log4net
Redirect Permanent /log4php http://logging.apache.org/log4php
Redirect Permanent /lucene.net http://lucenenet.apache.org
Redirect Permanent /lucy http://lucy.apache.org
Redirect Permanent /marmotta http://marmotta.apache.org
##merlin-developer - where did that go?
Redirect Permanent /mesos http://mesos.apache.org
Redirect Permanent /metamodel http://metamodel.apache.org
Redirect Permanent /mod_ftp http://httpd.apache.org/mod_ftp
Redirect Permanent /mrunit http://mrunit.apache.org
Redirect Permanent /muse http://ws.apache.org/muse
Redirect Permanent /myfaces http://myfaces.apache.org
Redirect Permanent /nutch http://lucene.apache.org/nutch
Redirect Permanent /ode http://ode.apache.org
Redirect Permanent /ofbiz http://ofbiz.apache.org
Redirect Permanent /ognl http://commons.apache.org/ognl
Redirect Permanent /olingo http://olingo.apache.org
Redirect Permanent /onami http://onami.apache.org
Redirect Permanent /oodt http://oodt.apache.org
Redirect Permanent /oozie http://oozie.apache.org
Redirect Permanent /openejb http://openejb.apache.org
Redirect Permanent /openjpa http://openjpa.apache.org
Redirect Permanent /openmeetings http://openmeetings.apache.org
Redirect Permanent /opennlp http://opennlp.apache.org
Redirect Permanent /openofficeorg http://openoffice.apache.org
Redirect Permanent /openwebbeans http://openwebbeans.apache.org
Redirect Permanent /pdfbox http://pdfbox.apache.org
Redirect Permanent /phoenix http://phoenix.apache.org
Redirect Permanent /pig http://hadoop.apache.org/pig
Redirect Permanent /pivot http://pivot.apache.org
Redirect Permanent /pluto http://portals.apache.org/pluto
Redirect Permanent /qpid http://qpid.apache.org
Redirect Permanent /rat http://creadur.apache.org
Redirect Permanent /rave http://rave.apache.org
Redirect Permanent /ripple http://ripple.incubator.apache.org
Redirect Permanent /river http://river.apache.org
Redirect Permanent /roller http://roller.apache.org
Redirect Permanent /sanselan http://commons.apache.org/sanselan
Redirect Permanent /sentry http://sentry.apache.org
Redirect Permanent /servicemix http://servicemix.apache.org
Redirect Permanent /shindig http://shindig.apache.org
Redirect Permanent /shiro http://shiro.apache.org
Redirect Permanent /sirona http://sirona.incubator.apache.org
Redirect Permanent /sis http://sis.apache.org
Redirect Permanent /sling http://sling.apache.org
Redirect Permanent /solr http://lucene.apache.org/solr
Redirect Permanent /spamassasin http://spamassasin.apache.org
Redirect Permanent /spark http://spark.apache.org
Redirect Permanent /sqoop http://sqoop.apache.org
Redirect Permanent /stanbol http://stanbol.apache.org
Redirect Permanent /stdcxx http://stdcxx.apache.org
Redirect Permanent /storm http://storm.apache.org
Redirect Permanent /subversion http://subversion.apache.org
Redirect Permanent /synapse http://ws.apache.org/synapse
Redirect Permanent /tajo http://tajo.apache.org
Redirect Permanent /tapestry http://tapestry.apache.org
Redirect Permanent /tez http://tez.apache.org
Redirect Permanent /thrift http://thrift.apache.org
Redirect Permanent /tika http://lucene.apache.org/tika
Redirect Permanent /tobago http://myfaces.apache.org/tobago
Redirect Permanent /trafficserver http://trafficserver.apache.org
Redirect Permanent /trinidad http://myfaces.apache.org/trinidad
Redirect Permanent /tuscany http://tuscany.apache.org
Redirect Permanent /vxquery http://vxquery.apache.org
Redirect Permanent /uima http://uima.apache.org
Redirect Permanent /webwork2 http://struts.apache.org
Redirect Permanent /whirr http://whirr.apache.org
Redirect Permanent /wicket http://wicket.apache.org
Redirect Permanent /wink http://wink.apache.org
Redirect Permanent /woden http://ws.apache.org/woden
Redirect Permanent /wookie http://wookie.apache.org
Redirect Permanent /xmlbeans http://xmlbeans.apache.org

# retired podlings
# All URLs must be redirected to the status page as the original site as been dropped
# N.B. This can only be done here for old-style URLs under i.a.o
# For svnpubsub sites, set up the .htaccess file under:
# https://svn.apache.org/repos/asf/incubator/<podling>/site/[publish|etc]
#
# For podling.incubator.apache.org URLs using gitpubsub:
# Something like the following:
# https://gitbox.apache.org/repos/asf/incubator-retired-<podling>-site.git
# However this appears to be read-only
#
RedirectMatch Permanent ^/agila(/.*)?$ http://incubator.apache.org/projects/agila.html
RedirectMatch Permanent ^/alois(/.*)?$ http://incubator.apache.org/projects/alois.html
RedirectMatch Permanent ^/altrmi(/.*)?$ http://incubator.apache.org/projects/altrmi.html
RedirectMatch Permanent ^/awf(/.*)?$ http://incubator.apache.org/projects/awf.html
RedirectMatch Permanent ^/axion(/.*)?$ http://incubator.apache.org/projects/axion.html
RedirectMatch Permanent ^/bluesky(/.*)?$ http://incubator.apache.org/projects/bluesky.html
RedirectMatch Permanent ^/blur(/.*)?$ http://incubator.apache.org/projects/blur.html
RedirectMatch Permanent ^/composer(/.*)?$ http://incubator.apache.org/projects/composer.html
# https://svn.apache.org/repos/asf/incubator/concerted/site/.htaccess
RedirectMatch Permanent ^/corinthia(/.*)?$ http://incubator.apache.org/projects/corinthia.html
# https://svn.apache.org/repos/asf/incubator/cotton/site/publish/.htaccess
RedirectMatch Permanent ^/depot(/.*)?$ http://incubator.apache.org/projects/depot.html
RedirectMatch Permanent ^/droids(/.*)?$ http://incubator.apache.org/projects/droids.html
RedirectMatch Permanent ^/graffito(/.*)?$ http://incubator.apache.org/projects/graffito.html
# TODO http://hdt.incubator.apache.org/
RedirectMatch Permanent ^/heraldry(/.*)?$ http://incubator.apache.org/projects/heraldry.html
RedirectMatch Permanent ^/hise(/.*)?$ http://incubator.apache.org/projects/hise.html
RedirectMatch Permanent ^/imperius(/.*)?$ http://incubator.apache.org/projects/imperius.html
RedirectMatch Permanent ^/juice(/.*)?$ http://incubator.apache.org/projects/juice.html
RedirectMatch Permanent ^/kabuki(/.*)?$ http://incubator.apache.org/projects/kabuki.html
RedirectMatch Permanent ^/kalumet(/.*)?$ http://incubator.apache.org/projects/kalumet.html
RedirectMatch Permanent ^/kato(/.*)?$ http://incubator.apache.org/projects/kato.html
RedirectMatch Permanent ^/kitty(/.*)?$ http://incubator.apache.org/projects/kitty.html
RedirectMatch Permanent ^/lokahi(/.*)?$ http://incubator.apache.org/projects/lokahi.html
RedirectMatch Permanent ^/lucene4c(/.*)?$ http://incubator.apache.org/projects/lucene4c.html
RedirectMatch Permanent ^/nmaven(/.*)?$ http://incubator.apache.org/projects/nmaven.html
RedirectMatch Permanent ^/npanday(/.*)?$ http://incubator.apache.org/projects/npanday.html
RedirectMatch Permanent ^/olio(/.*)?$ http://incubator.apache.org/projects/olio.html
# TODO http://openaz.incubator.apache.org/
RedirectMatch Permanent ^/photark(/.*)?$ http://incubator.apache.org/projects/photark.html
# TODO http://pirk.incubator.apache.org/
RedirectMatch Permanent ^/provisionr(/.*)?$ http://incubator.apache.org/projects/provisionr.html
RedirectMatch Permanent ^/rcf(/.*)?$ http://incubator.apache.org/projects/rcf.html
RedirectMatch Permanent ^/ripple(/.*)?$ http://incubator.apache.org/projects/ripple.html
RedirectMatch Permanent ^/s4(/.*)?$ http://incubator.apache.org/projects/s4.html
RedirectMatch Permanent ^/socialsite(/.*)?$ http://incubator.apache.org/projects/socialsite.html
RedirectMatch Permanent ^/stonehenge(/.*)?$ http://incubator.apache.org/projects/stonehenge.html
RedirectMatch Permanent ^/tashi(/.*)?$ http://incubator.apache.org/projects/tashi.html
RedirectMatch Permanent ^/triplesoup(/.*)?$ http://incubator.apache.org/projects/triplesoup.html
RedirectMatch Permanent ^/tsik(/.*)?$ http://incubator.apache.org/projects/tsik.html
RedirectMatch Permanent ^/wadi(/.*)?$ http://incubator.apache.org/projects/wadi.html
RedirectMatch Permanent ^/wave(/.*)?$ http://incubator.apache.org/projects/wave.html
RedirectMatch Permanent ^/wsrp4j(/.*)?$ http://incubator.apache.org/projects/wsrp4j.html
RedirectMatch Permanent ^/xap(/.*)?$ http://incubator.apache.org/projects/xap.html
RedirectMatch Permanent ^/xmlbeanscxx(/.*)?$ http://incubator.apache.org/projects/xmlbeanscxx.html
RedirectMatch Permanent ^/yoko(/.*)?$ http://incubator.apache.org/projects/yoko.html
RedirectMatch Permanent ^/zetacomponents(/.*)?$ http://incubator.apache.org/projects/zetacomponents.html

# from the old webiste
Redirect Permanent /incubation/Incubation_Policy.html /policy/incubation.html
Redirect Permanent /incubation/Process_Description.html /policy/process.html
Redirect Permanent /incubation/Roles_and_Responsibilities.html /guides/roles_and_responsibilities.html
Redirect Permanent /policy/Roles_and_Responsibilities.html /guides/roles_and_responsibilities.html

# other URLs
RedirectMatch Permanent howtoparticipate.html /guides/participation.html
RedirectMatch Permanent clutch.html /clutch/index.html
Redirect Permanent /falcon http://falcon.apache.org
Redirect Permanent /flink http://flink.apache.org
Redirect Permanent /samza http://samza.apache.org
Redirect Permanent /parquet http://parquet.apache.org
Redirect Permanent /ignite http://ignite.apache.org
Redirect Permanent /lens http://lens.apache.org
Redirect Permanent /usergrid http://usergrid.apache.org
Redirect Permanent /calcite http://calcite.apache.org
Redirect Permanent /brooklyn http://brooklyn.apache.org
Redirect Permanent /reef http://reef.apache.org
Redirect Permanent /kylin http://kylin.apache.org

# Restore access to podlings.*
RedirectMatch ^/(podlings.*)$ "https://svn.apache.org/repos/asf/incubator/public/trunk/content/$1"
