diff --git a/middleware.ts b/middleware.ts index 0c3778e26a1..a2ca9b31c07 100644 --- a/middleware.ts +++ b/middleware.ts @@ -46,6 +46,7 @@ const DEPRECATED_LOCALES = new Set([ "no", "pt", "ro", + "se", "sk", "sl", "sn", diff --git a/next.config.js b/next.config.js index 5e27317a94b..ffec67a16b7 100644 --- a/next.config.js +++ b/next.config.js @@ -153,6 +153,12 @@ module.exports = (phase, { defaultConfig }) => { } return [ + // Whitepaper PDF redirect (no locale prefix) + { + source: "/669c9e2e2027310b6b3cdce6e1c52962/Ethereum_Whitepaper_-_Buterin_2014.pdf", + destination: "/content/whitepaper/whitepaper-pdf/Ethereum_Whitepaper_-_Buterin_2014.pdf", + permanent: true, + }, // All primary redirects ...redirects.flatMap(([source, destination, permanent]) => createRedirect(source, destination, permanent) diff --git a/redirects.config.js b/redirects.config.js index feb81c1248d..ddae7434e4a 100644 --- a/redirects.config.js +++ b/redirects.config.js @@ -104,9 +104,70 @@ module.exports = [ ["/tds", "/trillion-dollar-security"], ["/10-years", "/10years"], ["/history", "/ethereum-forks"], - ["/developers/docs/scaling/rollups", "/developers/docs/scaling/"], + ["/developers/docs/scaling/rollups", "/developers/docs/scaling/#rollups"], ["/eth2/get-involved/staking-community-grants", "/staking/"], ["/developers/docs/zk", "/zero-knowledge-proofs/"], ["/developers/docs/security", "/developers/docs/smart-contracts/security/"], ["/wallet", "/wallets/"], + ["/eth2/get-involved/medalla-data-challenge", "/contributing/"], + ["/team", "/about/"], + [ + "/contributing/translation-program/blog-translations", + "/contributing/translation-program/", + ], + ["/donate", "/"], + [ + "/developers/docs/consensus-mechanisms/pow/mining-algorithms/ethash", + "/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/", + ], + ["/%20wallets", "/wallets/"], + ["/developers/docs/zk-snarks", "/zero-knowledge-proofs/"], + ["/developers/docs/standards/erc-4337", "/roadmap/account-abstraction/"], + ["/developers/docs/accounts/aa", "/roadmap/account-abstraction/"], + [ + "/developers/docs/scaling/layer-2", + "/developers/docs/scaling/#layer-2-scaling", + ], + ["/developers/docs/account-abstraction", "/roadmap/account-abstraction/"], + [ + "/developers/docs/accounts/abstraction", + "/roadmap/account-abstraction/", + false, // Selectively applying temporary for possible future route usage + ], + ["/developers/docs/rollups", "/developers/docs/scaling/#rollups"], + ["/roadmap/future-proofing/:path+", "/roadmap/future-proofing/"], + ["/eth2/what-is-eth2", "/roadmap/"], + [ + "/developers/docs/accounts/account-abstraction", + "/roadmap/account-abstraction/", + ], + [ + "/developers/docs/consensus-mechanisms/proof-of-stake", + "/developers/docs/consensus-mechanisms/pos/", + false, + ], + ["/zero-knowledge", "/zero-knowledge-proofs/"], + [ + "/developers/docs/smart-contracts/account-abstraction", + "/roadmap/account-abstraction/", + ], + ["/developers/docs/ides/%23web-based-ides", "/developers/docs/"], + ["/developers/docs/daos", "/dao/"], + [ + "/developers/docs/consensus-mechanisms/pos/slashing", + "/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/", + false, + ], + ["/wallets/security", "/security/"], + ["/developers/docs/sharding", "/developers/docs/data-availability/"], + ["/layer-2-scaling", "/layer-2/"], + ["/layer-2-scaling/rollups", "/developers/docs/scaling/"], + ["/layer-1-scaling/sidechains", "/developers/docs/scaling/sidechains/"], + [ + "/layer-2-scaling/state-channels", + "/developers/docs/scaling/state-channels/", + ], + ["/developers/docs/privacy-enhancements", "/privacy/"], + ["/developers/docs/wallets", "/wallets/"], + ["/blog", "https://blog.ethereum.org"], ]