sc: redirect subpage aliases to preferred canonical names
authorMischa POSLAWSKY <perl@shiar.org>
Wed, 10 Nov 2021 23:37:52 +0000 (00:37 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 6 Dec 2021 11:07:29 +0000 (12:07 +0100)
index.plp
sc.plp
tools/mksitemap

index 7377784883e643d3bc971dbbf0691d9e661510f9..e3cd122f5373e52307fdc8a709ec0b45bc207d7d 100644 (file)
--- a/index.plp
+++ b/index.plp
@@ -77,8 +77,7 @@ if (open my $log, '<', 'UPDATE') {{
 <li><a href="/perl">perl versions</a>
 <li><a href="/apl">apl symbols</a>
 <li><a href="/termcol">terminal colours</a>
 <li><a href="/perl">perl versions</a>
 <li><a href="/apl">apl symbols</a>
 <li><a href="/termcol">terminal colours</a>
-<li><a href="/sc/2">starcraft 2 units</a>
-       (<a href="/sc" title="StarCraft: Brood War">bw</a>)
+<li><a href="/sc/lotv">starcraft units</a>
 <li><a href="/emoji">emoticons</a>
 <li><a href="/dieren">dieren (Dutch animals)</a>
 </ul>
 <li><a href="/emoji">emoticons</a>
 <li><a href="/dieren">dieren (Dutch animals)</a>
 </ul>
diff --git a/sc.plp b/sc.plp
index 19149cf9eab759e64087bf1f79aec3bf80644b42..b3c27fc6c8705c02786aa3bba48350b380af8e5f 100644 (file)
--- a/sc.plp
+++ b/sc.plp
@@ -20,13 +20,20 @@ my %scvers = (
                game => 'StarCraft II LotV',
                major => 2,
        },
                game => 'StarCraft II LotV',
                major => 2,
        },
+       index => 'bw',
+       1     => 'bw',
+       2     => 'lotv',
 );
 
 );
 
-$Request ||= 'bw';
-$Request = 'lotv' if $Request eq '2';
-my %scver = %{ $scvers{$Request} // {} }
+my $requestver = $scvers{$Request ||= 'index'}
        or Html(), Abort("Requested version <q>$Request</q> not available", '404 request not found');
 
        or Html(), Abort("Requested version <q>$Request</q> not available", '404 request not found');
 
+if (ref $requestver ne 'HASH') {
+       $header{Location} = $requestver;
+       Abort("Canonical URL for $Request is at $requestver", '302 subpage alias');
+}
+
+my %scver = %{$requestver};
 my $datafile = "sc-units-$Request.inc.pl";
 
 Html({
 my $datafile = "sc-units-$Request.inc.pl";
 
 Html({
index 01ec21159063d47487682cd7c0f01429cdd06456..7407392fa95b50f0ab63e054eb8570712e2c6e8e 100755 (executable)
@@ -12,7 +12,7 @@ my @pages = (
        [qw( vi digraphs charset browser writing sc/lotv termcol dieren )],
        [qw( readline latin unicode countries emoji perl )],
        [qw( vimperator mutt nethack mplayer font codec )],
        [qw( vi digraphs charset browser writing sc/lotv termcol dieren )],
        [qw( readline latin unicode countries emoji perl )],
        [qw( vimperator mutt nethack mplayer font codec )],
-       [qw( apl less screen digits sc sc/hots termcol/legacy keyboard )],
+       [qw( apl less screen digits sc/bw sc/hots termcol/legacy keyboard )],
        [qw( chars/table/html sample source plan )],
 );
 
        [qw( chars/table/html sample source plan )],
 );