From fd7b4f49121d3ac65e3f3a31607ead506d268300 Mon Sep 17 00:00:00 2001
From: Dean Troyer <dtroyer@gmail.com>
Date: Mon, 7 Aug 2017 18:07:46 -0500
Subject: [PATCH] Add .htaccess for docs migration

Change-Id: I413a6d059f4eb751ca5c8b5a9b61740ac93680b1
---
 doc/source/_extra/.htaccess | 22 ++++++++++++++++++++++
 doc/source/conf.py          |  3 +++
 2 files changed, 25 insertions(+)
 create mode 100644 doc/source/_extra/.htaccess

diff --git a/doc/source/_extra/.htaccess b/doc/source/_extra/.htaccess
new file mode 100644
index 0000000000..d4c092b5ab
--- /dev/null
+++ b/doc/source/_extra/.htaccess
@@ -0,0 +1,22 @@
+# Redirect docs from the old to new location following the Great Docs Migration of 2017
+
+redirectmatch 301 ^/python-openstackclient/([^/]+)/command-objects/([^/.]+).html$ /python-openstackclient/$1/cli/command-objects/$2.html
+
+redirectmatch 301 ^/python-openstackclient/([^/]+)/authentication.html$ /python-openstackclient/$1/cli/authentication.html
+redirectmatch 301 ^/python-openstackclient/([^/]+)/backward-incompatible.html$ /python-openstackclient/$1/cli/backward-incompatible.html
+redirectmatch 301 ^/python-openstackclient/([^/]+)/command-list.html$ /python-openstackclient/$1/cli/command-list.html
+redirectmatch 301 ^/python-openstackclient/([^/]+)/commands.html$ /python-openstackclient/$1/cli/commands.html
+redirectmatch 301 ^/python-openstackclient/([^/]+)/decoder.html$ /python-openstackclient/$1/cli/decoder.html
+redirectmatch 301 ^/python-openstackclient/([^/]+)/interactive.html$ /python-openstackclient/$1/cli/interactive.html
+redirectmatch 301 ^/python-openstackclient/([^/]+)/plugin-commands.html$ /python-openstackclient/$1/cli/plugin-commands.html
+
+redirectmatch 301 ^/python-openstackclient/([^/]+)/specs/([^/.]+).html$ /python-openstackclient/$1/contributor/specs/$2.html
+
+redirectmatch 301 ^/python-openstackclient/([^/]+)/command-beta.html$ /python-openstackclient/$1/contributor/command-beta.html
+redirectmatch 301 ^/python-openstackclient/([^/]+)/command-errors.html$ /python-openstackclient/$1/contributor/command-errors.html
+redirectmatch 301 ^/python-openstackclient/([^/]+)/command-logs.html$ /python-openstackclient/$1/contributor/command-logs.html
+redirectmatch 301 ^/python-openstackclient/([^/]+)/command-options.html$ /python-openstackclient/$1/contributor/command-options.html
+redirectmatch 301 ^/python-openstackclient/([^/]+)/command-wrappers.html$ /python-openstackclient/$1/contributor/command-wrappers.html
+redirectmatch 301 ^/python-openstackclient/([^/]+)/developing.html$ /python-openstackclient/$1/contributor/developing.html
+redirectmatch 301 ^/python-openstackclient/([^/]+)/humaninterfaceguide.html$ /python-openstackclient/$1/contributor/humaninterfaceguide.html
+redirectmatch 301 ^/python-openstackclient/([^/]+)/plugins.html$ /python-openstackclient/$1/contributor/plugins.html
diff --git a/doc/source/conf.py b/doc/source/conf.py
index bd4fa73031..ac9d0b38be 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -187,6 +187,9 @@ html_last_updated_fmt = '%Y-%m-%d %H:%M'
 # Output file base name for HTML help builder.
 htmlhelp_basename = 'OpenStackCommandLineClientdoc'
 
+# Add any paths that contain "extra" files, such as .htaccess or robots.txt
+html_extra_path = ['_extra']
+
 
 # -- Options for LaTeX output -------------------------------------------------