amplify-hosting icon indicating copy to clipboard operation
amplify-hosting copied to clipboard

Support redirecting specific route of a specific subdomain

Open OzzieOrca opened this issue 4 years ago • 7 comments

Is your feature request related to a problem? Please describe. I'm trying to redirect a specific path of a specific subdomain to another url. The Amplify redirect rules only appear to allow redirecting every route of a subdomain or redirecting a specific route of every subdomain.

Say I have 2 subdomains redirect.example.com and noredirect.example.com. I would like

  1. redirect.example.com and redirect.example.com/ to redirect to somemarketingdomain.com
  2. redirect.example.com/all-other-paths, noredirect.example.com, noredirect.example.com/, and noredirect.example.com/all-other-paths to not redirect

I think this is a feature request since I've tried a bunch of things and haven't figured it out. Here are my attempts:

  1. Write redirect rule for the root path:
    [
        {
            "source": "https://redirect.example.com/",
            "target": "somemarketingdomain.com",
            "status": "302",
            "condition": null
        },
    ]
    
    Doesn't appear to do anything and doesn't satisfy number 1 or 2 of my requirements above.
  2. Write redirect rule for every domain:
    [
        {
            "source": "/",
            "target": "somemarketingdomain.com",
            "status": "302",
            "condition": null
        },
    ]
    
    Satisfies number 1 above but doesn't satisfy number 2 since noredirect.example.com also redirects.
  3. Write redirect rule for the whole subdomain:
    [
        {
            "source": "https://redirect.example.com",
            "target": "somemarketingdomain.com",
            "status": "302",
            "condition": null
        },
    ]
    
    Satisfies number 1 above but doesn't satisfy number 2 since redirect.example.com/all-other-paths also redirects.

Describe the solution you'd like I would like for my attempt number 1 to work where you can redirect specific routes for a specific domain

Additional context I saw that https://github.com/aws-amplify/amplify-console/issues/233#issuecomment-558835732 suggested creating a new Amplify app for each subdomain, in which case my attempt number 2 would work. But this seems like overkill and a really hacky solution with duplicate config and more room for error.

It seems like requiring one Amplify app per subdomain defeats the purpose of all the domain management features and being able to quickly change which subdomain points at which branch.

Use cases I see for this:

  1. Test redirects on staging before production. I would like to test a redirect on stage.example.com before moving it into production at example.com
  2. Migrating to a new domain. If I wanted to migrate incrementally from domainone.com to domaintwo.com, I could only redirect some routes until we were ready to move them all without having to create a whole separate Amplify app.
  3. The ability to have a shortcode domain served from the same repo. Say I had example.com and ex.app and only wanted ex.app to serve /a/123456 routes, otherwise redirect to the main app.

OzzieOrca avatar Jun 17 '20 23:06 OzzieOrca

Hi @OzzieOrca,

Thanks for the reporting this with a detailed explanation :) Currently we don't support the functionality to skip certain routes under a given subdomain during redirects. We have added this as a feature request to our current backlog.

abhi7cr avatar Jun 23 '20 01:06 abhi7cr

Thanks for prioritizing it. 😄 Guess I'll need to make multiple apps for now. 😦 I appreciate the answer and the clarification of the current redirect support.

OzzieOrca avatar Jun 23 '20 16:06 OzzieOrca

I'm facing the same scenario we have a project landings that contains a ton of miniprojects for marketing, etc and we want to use subdomains with a wildcard would be perfect. Just commenting to rise a little bit the priority :D thanks!

luishdez avatar Nov 12 '20 17:11 luishdez

I have the same scenario described by @luishdez. This would be super helpful.

marianocodes avatar Jun 14 '21 22:06 marianocodes

Same issue here, would be great if this feature can be done.

nothingrealhappen avatar Nov 04 '21 14:11 nothingrealhappen

some scenario is needed, but would be also perfect to allow some access (per redirect) per IP address. Cause I do not want everybody to watch things which I do not want to share at a specified time

myroslavmail avatar Feb 04 '22 12:02 myroslavmail

Same issue. Will be helpful to have some updates here.

hackmajoris avatar Sep 08 '22 06:09 hackmajoris