{"id":975,"date":"2026-04-22T15:17:00","date_gmt":"2026-04-22T15:17:00","guid":{"rendered":"https:\/\/cloudabove.com\/help\/?p=975"},"modified":"2026-04-22T15:17:00","modified_gmt":"2026-04-22T15:17:00","slug":"managing-redirects-on-nginx-hosted-domains","status":"publish","type":"post","link":"https:\/\/cloudabove.com\/help\/managing-redirects-on-nginx-hosted-domains\/","title":{"rendered":"Managing Redirects on Nginx-Hosted Domains"},"content":{"rendered":"\n<p>Need to redirect some specific URLs while also catching all other traffic with a wildcard redirect? Nginx works differently than Apache, and you may need server-level configuration to do both.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Difference<\/h2>\n\n\n\n<p>On Apache, you&#8217;d use <code>.htaccess<\/code> files. On Nginx, redirects are managed in the server configuration file. This matters when you need <strong>both exact-match redirects AND wildcard (catch-all) redirects<\/strong> at the same time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What You&#8217;re Trying to Do<\/h2>\n\n\n\n<p>You probably need:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Exact redirects<\/strong> \u2014 Specific old URLs go to specific new pages<\/li>\n\n\n\n<li><strong>Wildcard redirects<\/strong> \u2014 Everything else from the old domain goes to a catch-all landing page<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How to Set It Up<\/h2>\n\n\n\n<p><strong>1. List your exact redirects<\/strong><\/p>\n\n\n\n<p>Identify which specific URLs need to redirect where:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/old-page-1 \u2192 https:\/\/newdomain.com\/new-page-1\n\/old-page-2 \u2192 https:\/\/newdomain.com\/new-page-2\n\/contact \u2192 https:\/\/newdomain.com\/contact-us<\/code><\/pre>\n\n\n\n<p><strong>2. Define your wildcard destination<\/strong><\/p>\n\n\n\n<p>Where should everything else go?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/* \u2192 https:\/\/newdomain.com\/landing-page<\/code><\/pre>\n\n\n\n<p><strong>3. Check Scout<\/strong><\/p>\n\n\n\n<p>Some redirect tools in Scout can handle this, but not always. If Scout doesn&#8217;t support combining exact and wildcard redirects, you&#8217;ll need Nginx-level configuration.<\/p>\n\n\n\n<p><strong>4. Request server-level redirects<\/strong><\/p>\n\n\n\n<p>Contact cloudabove.com\/contact-us and provide:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The exact URL redirects you need (with source and destination)<\/li>\n\n\n\n<li>The wildcard destination for unmatched requests<\/li>\n\n\n\n<li>The old domain name(s)<\/li>\n<\/ul>\n\n\n\n<p>We&#8217;ll add them to your Nginx configuration.<\/p>\n\n\n\n<p><strong>5. Test both redirect types<\/strong><\/p>\n\n\n\n<p>Once deployed, test:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>One of your exact-match redirects (should go to the specific new page)<\/li>\n\n\n\n<li>A random URL on the old domain (should hit the wildcard destination)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<p class=\"banner-note\"><strong>\ud83d\udca1 Important Note<\/strong><br><br>If your redirects are managed in Nginx, they can&#8217;t be edited through Scout. Any changes will need to go through cloudabove.com\/contact-us. Let us know if you need updates.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why This Matters<\/h2>\n\n\n\n<p>Exact-match redirects must be checked <strong>before<\/strong> wildcard redirects, or every request would hit the catch-all and your specific redirects would never trigger. Nginx configuration handles this priority automatically.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p><strong>Exact redirects first, wildcard catch-all second.<\/strong> This combination preserves specific pages while cleaning up everything else.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Need to redirect some specific URLs while also catching all other traffic with a wildcard redirect? Nginx works differently than Apache, and you may need server-level configuration to do both. The Difference On Apache, you&#8217;d use .htaccess files. On Nginx, redirects are managed in the server configuration file. This matters&hellip;<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,21],"tags":[],"class_list":["post-975","post","type-post","status-publish","format-standard","hentry","category-our-control-panel","category-advanced-techniques"],"_links":{"self":[{"href":"https:\/\/cloudabove.com\/help\/wp-json\/wp\/v2\/posts\/975","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudabove.com\/help\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudabove.com\/help\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudabove.com\/help\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudabove.com\/help\/wp-json\/wp\/v2\/comments?post=975"}],"version-history":[{"count":1,"href":"https:\/\/cloudabove.com\/help\/wp-json\/wp\/v2\/posts\/975\/revisions"}],"predecessor-version":[{"id":1002,"href":"https:\/\/cloudabove.com\/help\/wp-json\/wp\/v2\/posts\/975\/revisions\/1002"}],"wp:attachment":[{"href":"https:\/\/cloudabove.com\/help\/wp-json\/wp\/v2\/media?parent=975"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudabove.com\/help\/wp-json\/wp\/v2\/categories?post=975"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudabove.com\/help\/wp-json\/wp\/v2\/tags?post=975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}