FLIP THE SWITCH
[openssl-web.git] / source / .htaccess.wml
1 <protect>##
2 ##  .htaccess -- Apache per-dir config
3 ##
4
5 RewriteEngine on
6
7 RewriteBase /source
8
9 # First, rewrite all the 'latest' URLs</protect>
10 <:{
11     my @tarballs =
12         sort grep /openssl-\d+\.\d+\.\d+[a-z]*\.tar\.gz$/, glob("openssl-*.tar.gz");
13     my %series = ();
14     foreach(@tarballs) {
15         my ($version, $serie) = /^openssl-((\d+\.\d+\.\d+)[a-z]*)\./;
16         $series{$serie} = $_;
17     }
18
19     my $latest = $series{ (reverse sort keys %series)[0] };
20     print "RewriteRule ^latest\\.tar\\.gz\$ $latest [L,R=302,NC]\n";
21
22     foreach (sort keys %series) {
23         my $rule = "openssl-$_-latest.tar.gz"; $rule =~ s|\.|\\.|g;
24         my $target = $series{$_};
25         print "RewriteRule ^$rule\$ $target [L,R=302,NC]\n";
26     }
27 }:>
28 <protect>
29 # Old distro's are in subdirs.
30 RewriteCond %{REQUEST_FILENAME} !-f
31 RewriteRule (openssl-0\.9\.8.*) old/0.9.x/$1 [L]
32
33 RewriteCond %{REQUEST_FILENAME} !-f
34 RewriteRule openssl-(1\.0\.0.*) old/1.0.0/openssl-$1 [L]
35
36 RewriteCond %{REQUEST_FILENAME} !-f
37 RewriteRule openssl-(1\.0\.1.*) old/1.0.1/openssl-$1 [L]
38
39 RewriteCond %{REQUEST_FILENAME} !-f
40 RewriteRule openssl-(1\.0\.2.*) old/1.0.1/openssl-$1 [L]
41
42 RewriteCond %{REQUEST_FILENAME} !-f
43 RewriteRule openssl-(fips.*)  old/fips/openssl-$1 [L]
44
45 <Files *.gz.asc>
46     RemoveEncoding .gz
47 </Files>
48 <Files *.gz.md5>
49     RemoveEncoding .gz
50 </Files>
51 <Files *.gz.sha1>
52     RemoveEncoding .gz
53 </Files>
54 </protect>