From ca3c180838f74084c64e3bff57ef41ffbe5e5f39 Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Fri, 12 May 2023 09:35:09 +1000 Subject: [PATCH] Add zuul-jobs latest/ redirects zuul-jobs is published to docs/zuul-jobs/latest; because of the way we do an additive copy we are currently serving old documentation when anyone follows the links. This adds redirects for this case. The list of files is what is currently in AFS. I haven't updated the links in various docs to append the latest/ ... I can't imagine we have branches/tags for this repo, so it does seem like a canonical URL, but I think let's just let the 301 redirect do that just for a layer of abstraction. Change-Id: I66c155ee7aaded0485a1059ab9a6f540612610a6 --- www/.htaccess | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/www/.htaccess b/www/.htaccess index c8bafd0..716701d 100644 --- a/www/.htaccess +++ b/www/.htaccess @@ -29,6 +29,54 @@ redirectmatch 301 ^/docs/nodepool/search.html$ /docs/nodepool/latest/search.html redirectmatch 301 ^/docs/nodepool/static.html$ /docs/nodepool/latest/static.html redirectmatch 301 ^/docs/nodepool/ibmvpc.html$ /docs/nodepool/latest/ibmvpc.html +################################################################# +## Move from docs/zuul-jobs to docs/zuul-jobs/latest +redirectmatch 301 ^/docs/zuul-jobs(/)?$ /docs/zuul-jobs/latest/ + +### HTML Files +redirectmatch 301 ^/docs/zuul-jobs/genindex.html$ /docs/zuul-jobs/latest/genindex.html +redirectmatch 301 ^/docs/zuul-jobs/roles.html$ /docs/zuul-jobs/latest/roles.html +redirectmatch 301 ^/docs/zuul-jobs/rust-roles.html$ /docs/zuul-jobs/latest/rust-roles.html +redirectmatch 301 ^/docs/zuul-jobs/search.html$ /docs/zuul-jobs/latest/search.html +redirectmatch 301 ^/docs/zuul-jobs/system-jobs.html$ /docs/zuul-jobs/latest/system-jobs.html +redirectmatch 301 ^/docs/zuul-jobs/system-roles.html$ /docs/zuul-jobs/latest/system-roles.html +redirectmatch 301 ^/docs/zuul-jobs/translation-roles.html$ /docs/zuul-jobs/latest/translation-roles.html +redirectmatch 301 ^/docs/zuul-jobs/helm-jobs.html$ /docs/zuul-jobs/latest/helm-jobs.html +redirectmatch 301 ^/docs/zuul-jobs/helm-roles.html$ /docs/zuul-jobs/latest/helm-roles.html +redirectmatch 301 ^/docs/zuul-jobs/index.html$ /docs/zuul-jobs/latest/index.html +redirectmatch 301 ^/docs/zuul-jobs/install.html$ /docs/zuul-jobs/latest/install.html +redirectmatch 301 ^/docs/zuul-jobs/java-roles.html$ /docs/zuul-jobs/latest/java-roles.html +redirectmatch 301 ^/docs/zuul-jobs/jobs.html$ /docs/zuul-jobs/latest/jobs.html +redirectmatch 301 ^/docs/zuul-jobs/js-jobs.html$ /docs/zuul-jobs/latest/js-jobs.html +redirectmatch 301 ^/docs/zuul-jobs/js-roles.html$ /docs/zuul-jobs/latest/js-roles.html +redirectmatch 301 ^/docs/zuul-jobs/kubernetes-roles.html$ /docs/zuul-jobs/latest/kubernetes-roles.html +redirectmatch 301 ^/docs/zuul-jobs/launchpad-roles.html$ /docs/zuul-jobs/latest/launchpad-roles.html +redirectmatch 301 ^/docs/zuul-jobs/log-roles.html$ /docs/zuul-jobs/latest/log-roles.html +redirectmatch 301 ^/docs/zuul-jobs/mirror.html$ /docs/zuul-jobs/latest/mirror.html +redirectmatch 301 ^/docs/zuul-jobs/nim-jobs.html$ /docs/zuul-jobs/latest/nim-jobs.html +redirectmatch 301 ^/docs/zuul-jobs/nim-roles.html$ /docs/zuul-jobs/latest/nim-roles.html +redirectmatch 301 ^/docs/zuul-jobs/policy.html$ /docs/zuul-jobs/latest/policy.html +redirectmatch 301 ^/docs/zuul-jobs/puppet-roles.html$ /docs/zuul-jobs/latest/puppet-roles.html +redirectmatch 301 ^/docs/zuul-jobs/python-jobs.html$ /docs/zuul-jobs/latest/python-jobs.html +redirectmatch 301 ^/docs/zuul-jobs/python-roles.html$ /docs/zuul-jobs/latest/python-roles.html +redirectmatch 301 ^/docs/zuul-jobs/docker-image.html$ /docs/zuul-jobs/latest/docker-image.html +redirectmatch 301 ^/docs/zuul-jobs/docker-jobs.html$ /docs/zuul-jobs/latest/docker-jobs.html +redirectmatch 301 ^/docs/zuul-jobs/galaxy-roles.html$ /docs/zuul-jobs/latest/galaxy-roles.html +redirectmatch 301 ^/docs/zuul-jobs/general-jobs.html$ /docs/zuul-jobs/latest/general-jobs.html +redirectmatch 301 ^/docs/zuul-jobs/general-roles.html$ /docs/zuul-jobs/latest/general-roles.html +redirectmatch 301 ^/docs/zuul-jobs/go-jobs.html$ /docs/zuul-jobs/latest/go-jobs.html +redirectmatch 301 ^/docs/zuul-jobs/go-roles.html$ /docs/zuul-jobs/latest/go-roles.html +redirectmatch 301 ^/docs/zuul-jobs/hashicorp-jobs.html$ /docs/zuul-jobs/latest/hashicorp-jobs.html +redirectmatch 301 ^/docs/zuul-jobs/hashicorp-roles.html$ /docs/zuul-jobs/latest/hashicorp-roles.html +redirectmatch 301 ^/docs/zuul-jobs/haskell-jobs.html$ /docs/zuul-jobs/latest/haskell-jobs.html +redirectmatch 301 ^/docs/zuul-jobs/haskell-roles.html$ /docs/zuul-jobs/latest/haskell-roles.html +redirectmatch 301 ^/docs/zuul-jobs/afs-roles.html$ /docs/zuul-jobs/latest/afs-roles.html +redirectmatch 301 ^/docs/zuul-jobs/build-roles.html$ /docs/zuul-jobs/latest/build-roles.html +redirectmatch 301 ^/docs/zuul-jobs/cloud-roles.html$ /docs/zuul-jobs/latest/cloud-roles.html +redirectmatch 301 ^/docs/zuul-jobs/container-roles.html$ /docs/zuul-jobs/latest/container-roles.html +redirectmatch 301 ^/docs/zuul-jobs/deprecated-jobs.html$ /docs/zuul-jobs/latest/deprecated-jobs.html +redirectmatch 301 ^/docs/zuul-jobs/deprecated-roles.html$ /docs/zuul-jobs/latest/deprecated-roles.html + ################################################################# ## Move from docs/zuul to docs/zuul/latest redirectmatch 301 ^/docs/zuul(/)?$ /docs/zuul/latest/