github.com/hashicorp/packer@v1.14.3/website/redirects.js (about) 1 /** 2 * Define your custom redirects within this file. 3 * 4 * Vercel's redirect documentation: 5 * https://nextjs.org/docs/api-reference/next.config.js/redirects 6 * 7 * Relative paths with fragments (#) are not supported. 8 * For destinations with fragments, use an absolute URL. 9 * 10 * Playground for testing url pattern matching: https://npm.runkit.com/path-to-regexp 11 * 12 * Note that redirects defined in a product's redirects file are applied to 13 * the developer.hashicorp.com domain, which is where the documentation content 14 * is rendered. Redirect sources should be prefixed with the product slug 15 * to ensure they are scoped to the product's section. Any redirects that are 16 * not prefixed with a product slug will be ignored. 17 */ 18 module.exports = [ 19 /* 20 Example redirect: 21 { 22 source: '/packer/docs/internal-docs/my-page', 23 destination: '/packer/docs/internals/my-page', 24 permanent: true, 25 }, 26 */ 27 /** 28 * BEGIN EMPTY PAGE REDIRECTS 29 * These redirects ensure some empty placeholder pages, dating back to when 30 * "Overview" pages were a requirement, cannot be visited. 31 * 32 * These redirects can likely be removed once we have content API "pruning" 33 * in place. That is, assuming the page at https://developer.hashicorp.com/packer/docs/templates/hcl_templates/functions/conversion 34 * is still empty, the content API response from the content URL for that page 35 * (https://content.hashicorp.com/api/content/packer/doc/latest/docs/templates/hcl_templates/functions/conversion) 36 * should be a 404. Asana task for this "don't return content for empty" work: 37 * https://app.asana.com/0/1100423001970639/1202110665886351/f 38 */ 39 { 40 source: '/packer/docs/templates/hcl_templates/functions/collection', 41 destination: '/packer/docs/templates/hcl_templates/functions', 42 permanent: true, 43 }, 44 { 45 source: '/packer/docs/templates/hcl_templates/functions/contextual', 46 destination: '/packer/docs/templates/hcl_templates/functions', 47 permanent: true, 48 }, 49 { 50 source: '/packer/docs/templates/hcl_templates/functions/conversion', 51 destination: '/packer/docs/templates/hcl_templates/functions', 52 permanent: true, 53 }, 54 { 55 source: '/packer/docs/templates/hcl_templates/functions/crypto', 56 destination: '/packer/docs/templates/hcl_templates/functions', 57 permanent: true, 58 }, 59 { 60 source: '/packer/docs/templates/hcl_templates/functions/encoding', 61 destination: '/packer/docs/templates/hcl_templates/functions', 62 permanent: true, 63 }, 64 { 65 source: '/packer/docs/templates/hcl_templates/functions/file', 66 destination: '/packer/docs/templates/hcl_templates/functions', 67 permanent: true, 68 }, 69 { 70 source: '/packer/docs/templates/hcl_templates/functions/ipnet', 71 destination: '/packer/docs/templates/hcl_templates/functions', 72 permanent: true, 73 }, 74 { 75 source: '/packer/docs/templates/hcl_templates/functions/numeric', 76 destination: '/packer/docs/templates/hcl_templates/functions', 77 permanent: true, 78 }, 79 { 80 source: '/packer/docs/templates/hcl_templates/functions/string', 81 destination: '/packer/docs/templates/hcl_templates/functions', 82 permanent: true, 83 }, 84 { 85 source: '/packer/docs/templates/hcl_templates/functions/uuid', 86 destination: '/packer/docs/templates/hcl_templates/functions', 87 permanent: true, 88 }, 89 { 90 source: '/packer/docs/plugins/install-plugins', 91 destination: '/packer/docs/plugins/install', 92 permanent: true, 93 }, 94 { 95 source: '/packer/docs/provisioners/custom', 96 destination: '/packer/docs/plugins/creation/custom-provisioners', 97 permanent: true, 98 }, 99 /** 100 * END EMPTY PAGE REDIRECTS 101 */ 102 { 103 source: '/packer/docs/builders/custom', 104 destination: '/packer/docs/plugins/creation/custom-builders', 105 permanent: true, 106 }, 107 { 108 source: '/packer/docs/install', 109 destination: '/packer/install', 110 permanent: true, 111 } 112 113 ]