Note: For this post, I had to replace .viewyourtour.com for .SITEURL because there’s a limit on how many urls you can include in a post.
I have a Netlify react site that uses the first subdomain as the argument for what info to pull from my API. They work perfectly.
Live sites include:
still-hopes.SITEURL
arbor-acres.SITEURL
For internal dev/qa purposes, I’d need to be able to add my subdomain argument to the branch url. For instance, my dev ‘r-v1_1’ branch, has a url of ‘r-v1-1.SITEURL’, which is accessible but has no real value, since there isn’t a valid API argument in the url. I believe I need ‘CUSTOMSUBDOMAIN.r-v1-1.SITEURL’ to be a masked redirect to ‘r-v1-1.SITEURL’.
URLs I need include:
still-hopes.r-v1-1.SITEURL
arbor-acres.r-v1-1.SITEURL
My DNS is controlled through Netlify. I’ve tried creating a CNAME record for ‘still-hopes.r-v1-1.viewyourtour.com’ that points to ‘r-v1-1.viewyourtour.com’ but I just continue to get a Not Found error. For funsies, I also did the same thing with an ALIAS record. No luck.
Is what I’m trying to do possible? If so, how do I do it?
Not Found error indicates the absence of an index.html. If the DNS would not have worked, that is, if the subdomain wasn’t actually working, you’d have got an NXDOMAIN error.
You can have a subdomain of a subdomain, I think the issue here is that as you state above.
uses the first subdomain as the argument for what info to pull from my API.
So if there is a still-hopes.r-v1-1.viewyourtour.com it could be looking for a response from your API for still-hopes.r-v1-1, is there a case for this in your API OR are you trying to route still-hopes.r-v1-1 to actually hit the API still-hopes.viewyourtour ?
This might not make sense since then you’re hitting the same API as prod but that depends what you’re testing? In your last note, you mentioned:
As your original domain requires the subdomains for the information to be retrieved, I don’t see why you would direct to r-v1-1 since (in my mind) that will be emulating your primary domain “https://viewyourtour.com” and therefore would need a subdomain to send the API request as mentioned above.
I’m hitting the same API as prod, but my problem here is the URL of still-hopes.r-v1-1. returns a Not Found error. If just the API was failing, it would still return a (poorly) functioning site.
I’m trying to route still-hopes.r-v1-1. to hit r-v1-1, since r-v1-1 is my dev branch build. If I point straight to viewyourtour.com, no r-v1-1 subdomain, it will just be using the master branch and I can’t test my dev code. For the record, still-hopes.viewyourtour.com works perfectly and is in production use.
Hey @The_Vectre,
I don’t think you can accomplish what you’re trying to do with redirects and branch deploys. Branch deploys already require some special DNS magic that won’t play well with internal redirects to the same site.
That said! Because you:
are on at least a Pro plan
are using Netlify DNS
you will be able to get close to what you want with wildcard subdomains, which is something we can enable for sites that meet the above criteria.
Wildcard subdomains (or in this case, wildcard sub-subdomains) would mean that any request that matched *.r-v1-1.viewtourdev.com would go to the same underlying site, and then your client-side logic could do its thing to return the site it’s supposed to based on the sub-subdomain. To get this working, you would need:
that deploys from the same repo as your prod site, but from the dev branch you want instead of main/master
Note that this configuration would not be using your branch name to determine the domain name… in other words, we cannot do *.*.viewtourdev.com- you will have to pick one subdomain and stick with it. But a wildcard in the sub-subdomain spot will work, which should work with the way your API is set up.
The wildcard subdomain feature may also work well for your production sites.
I see that we have a ticket open with you in our helpdesk, so I’ll follow up with you there, but wanted to post some of this here in case it’s of interest to others