From: Matt Birkholz Date: Sat, 9 May 2026 21:27:18 +0000 (-0600) Subject: Redirect ~puck/ requests. Provide a "user-selected canonical". X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=024ddf4ea494aebaf9ce91a04bd1a84e30d8a76f;p=Network.git Redirect ~puck/ requests. Provide a "user-selected canonical". This still leaves 143,630 pages un-indexed by Google, each a "duplicate without user-selected canonical" according to Google's Search Console. All are /git? URLS generated by Gitweb and involve an optional(?) .git suffix (or not) on repository names. --- diff --git a/README.org b/README.org index 68597da..82f1e3f 100644 --- a/README.org +++ b/README.org @@ -492,6 +492,36 @@ AliasMatch /Photos/(20[0-9][0-9])_([0-9][0-9])_([0-9][0-9])/$ \ AliasMatch /Photos/$ {{ docroot }}/Photos/index.html #+END_SRC +** Configure Matt's Alter Ego + +Many years ago Matt's evil twin, Friar Puck, released a "pucked" +version of MIT/GNU Scheme, advertising that it was available at a +couple URLs: + +- ~git://birchwood-abbey.net/~puck/mit-scheme.git~ +- ~https://birchwood-abbey.net/~puck/Scheme/~ + +These are actually duplicates of the "resources" at these URLs: + +- ~git://birchwood-abbey.net/~matt/mit-scheme.git~ +- ~https://birchwood-abbey.net/~matt/Scheme/~ + +So the abbey's Google Indexing report warned of the duplicates, and +explained that they would not be indexed. To get them off the report, +the following redirects make clear that the canonical source is +Matt's. + +#+NAME: apache-pucked +#+CAPTION: ~apache-pucked~ +#+BEGIN_SRC conf +RedirectMatch /~puck$ /~matt +RedirectMatch /~puck/(.*) /~matt/$1 +#+END_SRC + +The seemingly duplicated Git repository at ~/~puck/mit-scheme.git~ is +actually the symbolic link at =/home/puck/Public= targeting +=/home/matt/Public=. + ** Configure Tellurion Expiration on Front The abbey's =tellurion.png= is updated every 15 minutes on the quarter @@ -534,10 +564,11 @@ The abbey simply creates a =birchwood-abbey.net-vhost.conf= file in =/etc/apache2/sites-available/=. The following task adds the [[apache-gitweb][~apache-gitweb~]], [[apache-abbey][~apache-abbey~]], -[[apache-photos][~apache-photos~]], and [[apache-tellurion][~apache-tellurion~]] directives described above to -the =-vhost.conf= file, and includes =options-ssl-apache.conf= from -=/etc/letsencrypt/=. The rest of the Let's Encrypt configuration is -discussed in the following [[*Install Let's Encrypt][Install Let's Encrypt]] section. +[[apache-photos][~apache-photos~]], [[apache-pucked][~apache-pucked~]] and [[apache-tellurion][~apache-tellurion~]] directives +described above to the =-vhost.conf= file, and includes +=options-ssl-apache.conf= from =/etc/letsencrypt/=. The rest of the +Let's Encrypt configuration is discussed in the following [[*Install Let's Encrypt][Install +Let's Encrypt]] section. #+CAPTION: [[file:roles_t/abbey-front/tasks/main.yml][=roles_t/abbey-front/tasks/main.yml=]] #+BEGIN_SRC conf :tangle roles_t/abbey-front/tasks/main.yml :noweb no-export @@ -553,6 +584,8 @@ discussed in the following [[*Install Let's Encrypt][Install Let's Encrypt]] sec <> + <> + <> IncludeOptional /etc/letsencrypt/options-ssl-apache.conf @@ -1054,7 +1087,8 @@ and included by the following code block. The Apache2 configuration on Core specifies three web sites (live, test, and campus). The live and test sites must operate just like the site on Front. Their configurations include the same [[apache-gitweb][~apache-gitweb~]], -[[apache-abbey][~apache-abbey~]], [[apache-photos][~apache-photos~]], and [[apache-tellurion][~apache-tellurion~]] used on Front. +[[apache-abbey][~apache-abbey~]], [[apache-photos][~apache-photos~]], [[apache-pucked][~apache-pucked~]] and +[[apache-tellurion][~apache-tellurion~]] directives used on Front. #+CAPTION: [[file:roles_t/abbey-core/tasks/main.yml][=roles_t/abbey-core/tasks/main.yml=]] #+BEGIN_SRC conf :tangle roles_t/abbey-core/tasks/main.yml :noweb no-export @@ -1070,6 +1104,8 @@ site on Front. Their configurations include the same [[apache-gitweb][~apache-g <> + <> + <> dest: /etc/apache2/sites-available/live-vhost.conf mode: u=rw,g=r,o=r @@ -1087,6 +1123,8 @@ site on Front. Their configurations include the same [[apache-gitweb][~apache-g <> + <> + <> dest: /etc/apache2/sites-available/test-vhost.conf mode: u=rw,g=r,o=r diff --git a/roles_t/abbey-core/tasks/main.yml b/roles_t/abbey-core/tasks/main.yml index 5d4f04f..e25eb35 100644 --- a/roles_t/abbey-core/tasks/main.yml +++ b/roles_t/abbey-core/tasks/main.yml @@ -165,6 +165,9 @@ {{ docroot }}/Photos/$1/$2/$3/index.html AliasMatch /Photos/$ {{ docroot }}/Photos/index.html + RedirectMatch /~puck$ /~matt + RedirectMatch /~puck/(.*) /~matt/$1 + ExpiresActive On ExpiresByType image/png "modification plus 15 minutes" @@ -204,6 +207,9 @@ {{ docroot }}/Photos/$1/$2/$3/index.html AliasMatch /Photos/$ {{ docroot }}/Photos/index.html + RedirectMatch /~puck$ /~matt + RedirectMatch /~puck/(.*) /~matt/$1 + ExpiresActive On ExpiresByType image/png "modification plus 15 minutes" diff --git a/roles_t/abbey-front/tasks/main.yml b/roles_t/abbey-front/tasks/main.yml index 8f05f4e..8f5303d 100644 --- a/roles_t/abbey-front/tasks/main.yml +++ b/roles_t/abbey-front/tasks/main.yml @@ -164,6 +164,9 @@ {{ docroot }}/Photos/$1/$2/$3/index.html AliasMatch /Photos/$ {{ docroot }}/Photos/index.html + RedirectMatch /~puck$ /~matt + RedirectMatch /~puck/(.*) /~matt/$1 + ExpiresActive On ExpiresByType image/png "modification plus 15 minutes"