diff --git a/i2p2www/legacy.py b/i2p2www/legacy.py
index cbd778b5b771845e6b87f0e859aa18d7fbc3b63b..c81fbb29615fc7a18c785381badb414b1f0494a1 100644
--- a/i2p2www/legacy.py
+++ b/i2p2www/legacy.py
@@ -6,12 +6,15 @@ from flask import g, redirect, url_for
 
 LEGACY_FUNCTIONS_MAP={
     'announcements': {'function': 'blog_index',       'params': {}},
-    'debian':        {'function': 'downloads_select', 'params': {'file': 'debian'}},
+    'debian':        {'function': 'downloads_debian', 'params': {}},
     'download':      {'function': 'downloads_list',   'params': {}},
+    'installation':  {'function': 'downloads_list',   'params': {}},
+    'meetings':      {'function': 'meetings_index',   'params': {}},
     'statusnotes':   {'function': 'blog_index',       'params': {}},
 }
 
 LEGACY_PAGES_MAP={
+    'api':                    'docs',
     'applications':           'get-involved/develop/applications',
     'benchmarks':             'misc/benchmarks',
     'bittorrent':             'docs/applications/bittorrent',
@@ -33,28 +36,27 @@ LEGACY_PAGES_MAP={
     'clt':                    'misc/clt',
     'common_structures_spec': 'docs/spec/common-structures',
     'configuration':          'docs/spec/configuration',
-    'contact':                'about/contact',
+    'contact':                'contact',
     'cvs':                    'misc/cvs',
     'datagrams':              'docs/api/datagrams',
     'dev-guidelines':         'get-involved/guides/dev-guidelines',
     'developerskeys':         'get-involved/develop/developers-keys',
     'donate':                 'get-involved/donate',
-    'faq':                    'support/faq',
     'getinvolved':            'get-involved',
     'geoip':                  'docs/spec/geoip',
-    'glossary':               'support/glossary',
+    'glossary':               'about/glossary',
     'halloffame':             'about/hall-of-fame',
     'how':                    'docs',
     'how_cryptography':       'docs/how/cryptography',
     'how_elgamalaes':         'docs/how/elgamal-aes',
     'how_garlicrouting':      'docs/how/garlic-routing',
     'how_intro':              'docs/how/intro',
-    'how_networkcomparisons': 'about/comparison',
+    'how_networkcomparisons': 'comparison',
     'how_networkdatabase':    'docs/how/network-database',
     'how_peerselection':      'docs/how/peer-selection',
     'how_threatmodel':        'docs/how/threat-model',
     'how_tunnelrouting':      'docs/how/tunnel-routing',
-    'htproxyports':           'support/browser-config',
+    'htproxyports':           'about/browser-config',
     'i2cp':                   'docs/protocol/i2cp',
     'i2cp_spec':              'docs/spec/i2cp',
     'i2np':                   'docs/protocol/i2np',
@@ -83,10 +85,10 @@ LEGACY_PAGES_MAP={
     'newtranslators':         'get-involved/guides/new-translators',
     'ntcp':                   'docs/transport/ntcp',
     'ntcp_discussion':        'docs/discussions/ntcp',
-    'othernetworks':          'about/comparison/other-networks',
+    'othernetworks':          'comparison/other-networks',
     'papers':                 'research/papers',
-    'performance-history':    'support/performance/history',
-    'performance':            'support/performance/future',
+    'performance-history':    'about/performance/history',
+    'performance':            'about/performance/future',
     'plugin_spec':            'docs/spec/plugin',
     'plugins':                'docs/plugins',
     'ports':                  'docs/ports',
@@ -120,6 +122,61 @@ LEGACY_PAGES_MAP={
     'upgrade-0.6.1.30':       'misc/upgrade-0.6.1.30',
 }
 
+LEGACY_BLOG_POSTS_MAP={
+    'statnotes0108':         {'date': (2008, 2, 1), 'title': 'status'},
+    'summerofcode-2011':     {'date': (2011, 6, 6), 'title': 'Ipredator-SoC'},
+    'summerofcode-2011-end': {'date': (2011, 9, 3), 'title': 'Ipredator-SoC-itoopie-released'},
+}
+
+LEGACY_RELEASES_MAP={
+    '0.6.1.30': (2007, 10, 7),
+    '0.6.1.31': (2008, 2, 10),
+    '0.6.1.32': (2008, 3, 9),
+    '0.6.1.33': (2008, 4, 26),
+    '0.6.2':    (2008, 6, 7),
+    '0.6.3':    (2008, 8, 26),
+    '0.6.4':    (2008, 10, 6),
+    '0.6.5':    (2008, 12, 1),
+    '0.7':      (2009, 1, 25),
+    '0.7.1':    (2009, 3, 29),
+    '0.7.2':    (2009, 4, 19),
+    '0.7.3':    (2009, 5, 18),
+    '0.7.4':    (2009, 6, 13),
+    '0.7.5':    (2009, 6, 29),
+    '0.7.6':    (2009, 7, 31),
+    '0.7.7':    (2009, 10, 12),
+    '0.7.8':    (2009, 12, 8),
+    '0.7.9':    (2010, 1, 12),
+    '0.7.10':   (2010, 1, 22),
+    '0.7.11':   (2010, 2, 15),
+    '0.7.12':   (2010, 3, 15),
+    '0.7.13':   (2010, 4, 27),
+    '0.7.14':   (2010, 6, 7),
+    '0.8':      (2010, 7, 12),
+    '0.8.1':    (2010, 11, 15),
+    '0.8.2':    (2010, 12, 22),
+    '0.8.3':    (2011, 1, 24),
+    '0.8.4':    (2011, 3, 2),
+    '0.8.5':    (2011, 4, 18),
+    '0.8.6':    (2011, 5, 16),
+    '0.8.7':    (2011, 6, 27),
+    '0.8.8':    (2011, 8, 23),
+    '0.8.9':    (2011, 10, 11),
+    '0.8.10':   (2011, 10, 20),
+    '0.8.11':   (2011, 11, 8),
+    '0.8.12':   (2012, 1, 6),
+    '0.8.13':   (2012, 2, 27),
+    '0.9':      (2012, 5, 2),
+    '0.9.1':    (2012, 7, 30),
+    '0.9.2':    (2012, 9, 21),
+    '0.9.3':    (2012, 10, 27),
+    '0.9.4':    (2012, 12, 17),
+    '0.9.5':    (2013, 3, 8),
+    '0.9.6':    (2013, 5, 28),
+    '0.9.7':    (2013, 7, 15),
+    '0.9.7.1':  (2013, 8, 10),
+}
+
 def legacy_show(f):
     lang = 'en'
     if hasattr(g, 'lang') and g.lang:
@@ -128,6 +185,8 @@ def legacy_show(f):
         return redirect(url_for(LEGACY_FUNCTIONS_MAP[f]['function'], lang=lang, **LEGACY_FUNCTIONS_MAP[f]['params']))
     elif f in LEGACY_PAGES_MAP:
         return redirect(url_for('site_show', lang=lang, page=LEGACY_PAGES_MAP[f]))
+    elif f in LEGACY_BLOG_POSTS_MAP:
+        return legacy_blog(lang, LEGACY_BLOG_POSTS_MAP[f]['date'], LEGACY_BLOG_POSTS_MAP[f]['title'])
     else:
         return redirect(url_for('site_show', lang=lang, page=f))
 
@@ -135,4 +194,16 @@ def legacy_meeting(id):
     return redirect(url_for('meetings_show', id=id, lang='en'))
 
 def legacy_status(year, month, day):
-    return redirect(url_for('blog_post', lang='en', slug=('%s/%s/%s/status' % (year, month, day))))
+    return legacy_blog('en', (year, month, day), 'status')
+
+def legacy_release(version):
+    lang = 'en'
+    if hasattr(g, 'lang') and g.lang:
+        lang = g.lang
+    if version in LEGACY_RELEASES_MAP:
+        return legacy_blog(lang, LEGACY_RELEASES_MAP[version], '%s-Release' % version)
+    else:
+        return legacy_show('release-%s' % version)
+
+def legacy_blog(lang, (year, month, day), title):
+    return redirect(url_for('blog_post', lang=lang, slug=('%d/%02d/%02d/%s' % (year, month, day, title))))
diff --git a/i2p2www/pages/site/misc/ticket919.html b/i2p2www/pages/site/misc/ticket919.html
index 98b64760e77fe91b93cb9942215a0f9a6f05518d..882ba99b1794c9aa42b2bc213ac8f2501c5a8a43 100644
--- a/i2p2www/pages/site/misc/ticket919.html
+++ b/i2p2www/pages/site/misc/ticket919.html
@@ -5,7 +5,7 @@
 <p>The issue described on this page only affects Windows systems that originally installed I2P
 with version 0.9.5. Other operating systems are not affected.
 </p>
-<p>This issue has been corrected as of the <a href="{{ get_url('downloads_select', file='i2pinstall_0.9.5-win1_windows.exe') }}">0.9.5-win1 release</a>.</p>
+<p>This issue has been corrected as of the <a href="{{ get_url('downloads_select', version='0.9.5-win1', file='i2pinstall_0.9.5-win1_windows.exe') }}">0.9.5-win1 release</a>.</p>
 
 
 
diff --git a/i2p2www/urls.py b/i2p2www/urls.py
index 91dfdae06ff59eae8ae129cd798d0e40fed8433d..5d81101edbf680f7a686ea1d5925af63bb17ce1b 100644
--- a/i2p2www/urls.py
+++ b/i2p2www/urls.py
@@ -71,10 +71,15 @@ url('/meeting<int:id>', 'legacy.legacy_meeting')
 url('/meeting<int:id>.html', 'legacy.legacy_meeting')
 url('/status-<int:year>-<int:month>-<int:day>', 'legacy.legacy_status')
 url('/status-<int:year>-<int:month>-<int:day>.html', 'legacy.legacy_status')
+url('/release-<string:version>_<lang:lang>', 'legacy.legacy_release')
+url('/release-<string:version>_<lang:lang>.html', 'legacy.legacy_release')
+url('/release-<string:version>/', 'legacy.legacy_release')
+url('/release-<string:version>.html', 'legacy.legacy_release')
 url('/<string:f>_<lang:lang>', 'legacy.legacy_show')
 url('/<string:f>_<lang:lang>.html', 'legacy.legacy_show')
 url('/<string:f>/', 'legacy.legacy_show')
 url('/<string:f>.html', 'legacy.legacy_show')
+url('/<string:f>.txt', 'legacy.legacy_show')
 
 url('/hosts.txt', 'views.hosts')
 url('/robots.txt', 'views.robots')