{"id":77663,"date":"2026-02-12T11:29:07","date_gmt":"2026-02-12T05:59:07","guid":{"rendered":"https:\/\/2thenew.online\/blog\/?p=77663"},"modified":"2026-02-13T14:46:50","modified_gmt":"2026-02-13T09:16:50","slug":"manage-large-scale-redirects-in-aem-as-a-cloud-service","status":"publish","type":"post","link":"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/","title":{"rendered":"Manage Large Scale Redirects in AEM as a Cloud Service"},"content":{"rendered":"<h2>Problem Statement<\/h2>\n<p>We were migrating an old Salesforce-style knowledge base (URLs like <code>\/apex\/ArticleDetails?<\/code>) into AEM as a Cloud Service. Everything looked fine\u2026 until the business came back with a hard requirement:<\/p>\n<p><strong>\u201cWe have ~300 legacy article links still floating around. None of them can break. Fix it.\u201d<\/strong><\/p>\n<p>That immediately pointed to one place: <strong>dispatcher rewrite rules<\/strong>.<\/p>\n<p>And if you&#8217;ve worked with Apache + AEMaaCS dispatcher, you already know it&#8217;s not as simple as dropping a few <code>RewriteRule<\/code> lines and calling it done.<\/p>\n<hr \/>\n<h2>First Attempt (and why it failed)<\/h2>\n<p>The naive approach looks like this:<\/p>\n<pre><code>RewriteCond %{REQUEST_URI} =\/apex\/ArticleDetails [NC]\r\nRewriteCond %{QUERY_STRING} (^|&amp;)article=WaysToOpenAnAccount(&amp;|$) [NC]\r\nRewriteRule ^ \/content\/data-centre\/us\/en\/home\/our-products\/current-accounts\/online-bank-account-opening.article.html [R=301,L,QSD]<\/code><\/pre>\n<p>It works\u2026 for a couple of redirects.<\/p>\n<p>But for <strong>300<\/strong> entries?<\/p>\n<p>* Maintaining hundreds of hardcoded rules becomes painful.<br \/>\n* Every new redirect requires a dispatcher redeploy.<br \/>\n* Business teams can&#8217;t manage it without engineering help.<\/p>\n<p>That wasn&#8217;t going to scale.<\/p>\n<hr \/>\n<h2>Solution<\/h2>\n<p>Use <strong>RewriteMap<\/strong>.<\/p>\n<p>Instead of writing hundreds of conditional rewrite rules, keep a lookup file and let Apache resolve redirects based on the article slug.<\/p>\n<hr \/>\n<h2>Local Setup<\/h2>\n<p>Here&#8217;s what the local setup looked like:<\/p>\n<pre><code>RewriteMap articles dbm=sdbm:\/tmp\/rewrites\/articles.map\r\n\r\nRewriteCond %{REQUEST_URI} ^\/apex\/(s\/)?ArticleDetails$ [NC]\r\nRewriteCond %{QUERY_STRING} (^|&amp;)article=([^&amp;]+)(&amp;|$)\r\nRewriteCond ${articles:%2|NOT_FOUND} !NOT_FOUND\r\n\r\nRewriteRule ^ ${articles:%2}.article.html [R=301,L,QSD]<\/code><\/pre>\n<p>What&#8217;s happening here:<\/p>\n<p>* Apache extracts the value of <code>article=<\/code> from the query string.<br \/>\n* It checks that value in the <code>articles<\/code> map.<br \/>\n* If it finds a match, it redirects.<br \/>\n* If it doesn&#8217;t, the request continues normally.<\/p>\n<p>So the dispatcher config stays clean, and the redirect list lives outside the rewrite logic.<\/p>\n<hr \/>\n<h2>Making It Work in AEM as a Cloud Service<\/h2>\n<p>Local dev was straightforward: I used <code>httxt2dbm<\/code> to convert a text file into DBM format and mounted it under <code>\/tmp\/rewrites<\/code>.<\/p>\n<p>On AEMaaCS, that approach doesn&#8217;t work because you can&#8217;t SSH into dispatcher instances and drop files wherever you want. That&#8217;s where <strong>managed rewrite maps<\/strong> become extremely useful.<\/p>\n<h3>Step 1: Create a DAM asset for the redirect list<\/h3>\n<p>Create a text file in DAM:<\/p>\n<pre><code>\/content\/dam\/redirectmaps\/articles.txt<\/code><\/pre>\n<p>The format is simple: one mapping per line.<\/p>\n<pre><code>WaysToOpenAnAccount our-products\/current-accounts\/online-bank-account-opening\r\nUpdateDebitCardPIN  our-products\/debit-cards\/how-to-update-pin<\/code><\/pre>\n<p>(Keep it consistent: <code>slug destination-path-without-extension<\/code>.)<\/p>\n<h3>Step 2: Add managed rewrite map config in dispatcher repo<\/h3>\n<p>Add the config file here:<\/p>\n<pre><code>dispatcher\/src\/opt-in\/managed-rewrite-maps.yaml<\/code><\/pre>\n<p>And include something like:<\/p>\n<pre><code>maps:\r\n  - name: articles.map\r\n    path: \/content\/dam\/redirectmaps\/articles.txt\r\n    ttl: 300\r\n    wait: true<\/code><\/pre>\n<p>What happens next is the best part:<\/p>\n<p>* AEMaaCS fetches the DAM text file from Publish.<br \/>\n* It converts the file into DBM format.<br \/>\n* It places the generated DBM under <code>\/tmp\/rewrites\/articles.map<\/code> on each dispatcher.<br \/>\n* Your <code>RewriteMap<\/code> directive now has a real file to read from.<\/p>\n<p>So if you want to add a new redirect tomorrow, you don&#8217;t touch dispatcher code. You just update the DAM file, publish it, and within a few minutes (based on <code>ttl<\/code>) the dispatcher picks it up.<\/p>\n<p>No pipeline run, no redeploy, no downtime.<\/p>\n<hr \/>\n<h2>Point to Remember<\/h2>\n<p><strong>Make sure the <code>articles.txt<\/code> asset is published to the Publish\/Preview environment before deployment<\/strong> (or ship it as part of your initial rollout strategy).<br \/>\nIf dispatcher can&#8217;t fetch the DAM asset, the map won&#8217;t build and redirects won&#8217;t resolve.<\/p>\n<hr \/>\n<h2>Lessons Learned<\/h2>\n<ol>\n<li>Don&#8217;t hardcode 300 rewrite rules. Use a <strong>RewriteMap<\/strong>.<\/li>\n<li>Local Docker: build DBM using <code>httxt2dbm<\/code> and mount under <code>\/tmp\/rewrites<\/code>.<\/li>\n<li>Cloud: store redirect list in <strong>DAM<\/strong> + configure <strong>managed-rewrite-maps.yaml<\/strong>. Let AEMaaCS generate the DBM on dispatcher.<\/li>\n<li>Use <code>[QSD]<\/code> (Apache 2.4.65+) to drop the old query string cleanly after redirect.<\/li>\n<\/ol>\n<hr \/>\n<h2>Final Thought<\/h2>\n<p>This started as a panic moment (\u201coh no, 300 redirects\u201d) and ended up becoming a solid pattern.<\/p>\n<p>Now redirect maintenance is just a DAM update\u2014something even non-dev teams can handle\u2014while dispatcher rules stay stable and predictable. Sometimes the best fix isn&#8217;t writing more config. It&#8217;s using the platform feature that was built for exactly this problem.<\/p>\n<hr \/>\n<h3>Reference<\/h3>\n<p><a href=\"https:\/\/experienceleague.adobe.com\/en\/docs\/experience-manager-cloud-service\/content\/implementing\/content-delivery\/pipeline-free-url-redirects\"><br \/>\nhttps:\/\/experienceleague.adobe.com\/en\/docs\/experience-manager-cloud-service\/content\/implementing\/content-delivery\/pipeline-free-url-redirects<br \/>\n<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problem Statement We were migrating an old Salesforce-style knowledge base (URLs like \/apex\/ArticleDetails?) into AEM as a Cloud Service. Everything looked fine\u2026 until the business came back with a hard requirement: \u201cWe have ~300 legacy article links still floating around. None of them can break. Fix it.\u201d That immediately pointed to one place: dispatcher rewrite [&hellip;]<\/p>\n","protected":false},"author":1745,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":106,"footnotes":""},"categories":[5868],"tags":[5314,4847,5008,1233],"class_list":["post-77663","post","type-post","status-publish","format-standard","hentry","category-adobe","tag-adobeexperiencemanager","tag-aem","tag-aemaacs","tag-dispatcher"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Problem Statement We were migrating an old Salesforce-style knowledge base (URLs like \/apex\/ArticleDetails?) into AEM as a Cloud Service. Everything looked fine\u2026 until the business came back with a hard requirement: \u201cWe have ~300 legacy article links still floating around. None of them can break. Fix it.\u201d That immediately pointed to one place: dispatcher rewrite\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Karansheel Bhardwaj\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"Manage Large Scale Redirects in AEM as a Cloud Service | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Problem Statement We were migrating an old Salesforce-style knowledge base (URLs like \/apex\/ArticleDetails?) into AEM as a Cloud Service. Everything looked fine\u2026 until the business came back with a hard requirement: \u201cWe have ~300 legacy article links still floating around. None of them can break. Fix it.\u201d That immediately pointed to one place: dispatcher rewrite\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Manage Large Scale Redirects in AEM as a Cloud Service | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Problem Statement We were migrating an old Salesforce-style knowledge base (URLs like \/apex\/ArticleDetails?) into AEM as a Cloud Service. Everything looked fine\u2026 until the business came back with a hard requirement: \u201cWe have ~300 legacy article links still floating around. None of them can break. Fix it.\u201d That immediately pointed to one place: dispatcher rewrite\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/manage-large-scale-redirects-in-aem-as-a-cloud-service\\\/#article\",\"name\":\"Manage Large Scale Redirects in AEM as a Cloud Service | TO THE NEW Blog\",\"headline\":\"Manage Large Scale Redirects in AEM as a Cloud Service\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/karansheel-bhardwaj\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2026-02-12T11:29:07+05:30\",\"dateModified\":\"2026-02-13T14:46:50+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/manage-large-scale-redirects-in-aem-as-a-cloud-service\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/manage-large-scale-redirects-in-aem-as-a-cloud-service\\\/#webpage\"},\"articleSection\":\"Adobe, AdobeExperienceManager, AEM, AEMaaCS, Dispatcher\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/manage-large-scale-redirects-in-aem-as-a-cloud-service\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/adobe\\\/#listItem\",\"name\":\"Adobe\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/adobe\\\/#listItem\",\"position\":2,\"name\":\"Adobe\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/adobe\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/manage-large-scale-redirects-in-aem-as-a-cloud-service\\\/#listItem\",\"name\":\"Manage Large Scale Redirects in AEM as a Cloud Service\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/manage-large-scale-redirects-in-aem-as-a-cloud-service\\\/#listItem\",\"position\":3,\"name\":\"Manage Large Scale Redirects in AEM as a Cloud Service\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/adobe\\\/#listItem\",\"name\":\"Adobe\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/karansheel-bhardwaj\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/karansheel-bhardwaj\\\/\",\"name\":\"Karansheel Bhardwaj\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/manage-large-scale-redirects-in-aem-as-a-cloud-service\\\/#authorImage\",\"url\":\"https:\\\/\\\/newersworld-sf-static.tothenew.net\\\/prod\\\/profilePicFolder\\\/d235d5e9-ca45-4ce8-99c5-9a499878c597_Karansheel-Bhardwaj-Profile-Pitcure.jpeg\",\"width\":96,\"height\":96,\"caption\":\"Karansheel Bhardwaj\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/manage-large-scale-redirects-in-aem-as-a-cloud-service\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/manage-large-scale-redirects-in-aem-as-a-cloud-service\\\/\",\"name\":\"Manage Large Scale Redirects in AEM as a Cloud Service | TO THE NEW Blog\",\"description\":\"Problem Statement We were migrating an old Salesforce-style knowledge base (URLs like \\\/apex\\\/ArticleDetails?) into AEM as a Cloud Service. Everything looked fine\\u2026 until the business came back with a hard requirement: \\u201cWe have ~300 legacy article links still floating around. None of them can break. Fix it.\\u201d That immediately pointed to one place: dispatcher rewrite\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/manage-large-scale-redirects-in-aem-as-a-cloud-service\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/karansheel-bhardwaj\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/karansheel-bhardwaj\\\/#author\"},\"datePublished\":\"2026-02-12T11:29:07+05:30\",\"dateModified\":\"2026-02-13T14:46:50+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Manage Large Scale Redirects in AEM as a Cloud Service | TO THE NEW Blog","description":"Problem Statement We were migrating an old Salesforce-style knowledge base (URLs like \/apex\/ArticleDetails?) into AEM as a Cloud Service. Everything looked fine\u2026 until the business came back with a hard requirement: \u201cWe have ~300 legacy article links still floating around. None of them can break. Fix it.\u201d That immediately pointed to one place: dispatcher rewrite","canonical_url":"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/#article","name":"Manage Large Scale Redirects in AEM as a Cloud Service | TO THE NEW Blog","headline":"Manage Large Scale Redirects in AEM as a Cloud Service","author":{"@id":"https:\/\/2thenew.online\/blog\/author\/karansheel-bhardwaj\/#author"},"publisher":{"@id":"https:\/\/2thenew.online\/blog\/#organization"},"datePublished":"2026-02-12T11:29:07+05:30","dateModified":"2026-02-13T14:46:50+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/#webpage"},"isPartOf":{"@id":"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/#webpage"},"articleSection":"Adobe, AdobeExperienceManager, AEM, AEMaaCS, Dispatcher"},{"@type":"BreadcrumbList","@id":"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog#listItem","position":1,"name":"Home","item":"https:\/\/2thenew.online\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/category\/adobe\/#listItem","name":"Adobe"}},{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/category\/adobe\/#listItem","position":2,"name":"Adobe","item":"https:\/\/2thenew.online\/blog\/category\/adobe\/","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/#listItem","name":"Manage Large Scale Redirects in AEM as a Cloud Service"},"previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/#listItem","position":3,"name":"Manage Large Scale Redirects in AEM as a Cloud Service","previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/category\/adobe\/#listItem","name":"Adobe"}}]},{"@type":"Organization","@id":"https:\/\/2thenew.online\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/2thenew.online\/blog\/"},{"@type":"Person","@id":"https:\/\/2thenew.online\/blog\/author\/karansheel-bhardwaj\/#author","url":"https:\/\/2thenew.online\/blog\/author\/karansheel-bhardwaj\/","name":"Karansheel Bhardwaj","image":{"@type":"ImageObject","@id":"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/#authorImage","url":"https:\/\/newersworld-sf-static.tothenew.net\/prod\/profilePicFolder\/d235d5e9-ca45-4ce8-99c5-9a499878c597_Karansheel-Bhardwaj-Profile-Pitcure.jpeg","width":96,"height":96,"caption":"Karansheel Bhardwaj"}},{"@type":"WebPage","@id":"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/#webpage","url":"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/","name":"Manage Large Scale Redirects in AEM as a Cloud Service | TO THE NEW Blog","description":"Problem Statement We were migrating an old Salesforce-style knowledge base (URLs like \/apex\/ArticleDetails?) into AEM as a Cloud Service. Everything looked fine\u2026 until the business came back with a hard requirement: \u201cWe have ~300 legacy article links still floating around. None of them can break. Fix it.\u201d That immediately pointed to one place: dispatcher rewrite","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/2thenew.online\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/#breadcrumblist"},"author":{"@id":"https:\/\/2thenew.online\/blog\/author\/karansheel-bhardwaj\/#author"},"creator":{"@id":"https:\/\/2thenew.online\/blog\/author\/karansheel-bhardwaj\/#author"},"datePublished":"2026-02-12T11:29:07+05:30","dateModified":"2026-02-13T14:46:50+05:30"},{"@type":"WebSite","@id":"https:\/\/2thenew.online\/blog\/#website","url":"https:\/\/2thenew.online\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/2thenew.online\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"Manage Large Scale Redirects in AEM as a Cloud Service | TO THE NEW Blog","og:description":"Problem Statement We were migrating an old Salesforce-style knowledge base (URLs like \/apex\/ArticleDetails?) into AEM as a Cloud Service. Everything looked fine\u2026 until the business came back with a hard requirement: \u201cWe have ~300 legacy article links still floating around. None of them can break. Fix it.\u201d That immediately pointed to one place: dispatcher rewrite","og:url":"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/","og:image":"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Manage Large Scale Redirects in AEM as a Cloud Service | TO THE NEW Blog","twitter:description":"Problem Statement We were migrating an old Salesforce-style knowledge base (URLs like \/apex\/ArticleDetails?) into AEM as a Cloud Service. Everything looked fine\u2026 until the business came back with a hard requirement: \u201cWe have ~300 legacy article links still floating around. None of them can break. Fix it.\u201d That immediately pointed to one place: dispatcher rewrite","twitter:image":"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"77663","title":null,"description":null,"keywords":[],"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"limit_modified_date":false,"created":"2026-02-09 13:05:09","updated":"2026-02-13 09:16:51","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.online\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.online\/blog\/category\/adobe\/\" title=\"Adobe\">Adobe<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tManage Large Scale Redirects in AEM as a Cloud Service\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/2thenew.online\/blog"},{"label":"Adobe","link":"https:\/\/2thenew.online\/blog\/category\/adobe\/"},{"label":"Manage Large Scale Redirects in AEM as a Cloud Service","link":"https:\/\/2thenew.online\/blog\/manage-large-scale-redirects-in-aem-as-a-cloud-service\/"}],"_links":{"self":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/posts\/77663","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/users\/1745"}],"replies":[{"embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/comments?post=77663"}],"version-history":[{"count":5,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/posts\/77663\/revisions"}],"predecessor-version":[{"id":77670,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/posts\/77663\/revisions\/77670"}],"wp:attachment":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/media?parent=77663"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/categories?post=77663"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/tags?post=77663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}