Hi Vercel team,
I’m requesting an Edge Network routing improvement for custom-domain redirects.
Environment
- Plan: Hobby
- Frontend: Vite static site hosted on Vercel
- Canonical domain:
https://gamereleaseradar.com - Alternative domain:
www.gamereleaseradar.com - Both domains are verified, have valid TLS, and belong to the same Vercel project.
- In Project Settings → Domains,
www.gamereleaseradar.comis configured to redirect permanently togamereleaseradar.comwith status308.
The deployed vercel.json also contains a host-based permanent redirect:
{ "source": "/:path*", "has": [ { "type": "host", "value": "www.gamereleaseradar.com" } ], "destination": "https://gamereleaseradar.com/:path*", "permanent": true}Actual behavior
A request to the HTTP www origin takes two permanent redirects:
http://www.gamereleaseradar.com/path?query=value → 308 https://www.gamereleaseradar.com/path?query=value → 308 https://gamereleaseradar.com/path?query=value The Edge Network performs the same-host HTTP-to-HTTPS upgrade before evaluating either the project-domain redirect or the deployed host redirect.
The other variants already work correctly in one hop: http://gamereleaseradar.com/path → 308 https://gamereleaseradar.com/path
https://www.gamereleaseradar.com/path → 308 https://gamereleaseradar.com/path
Reproduction
curl -sS -o /dev/null -D - --max-redirs 0
'http://www.gamereleaseradar.com/edge-routing-probe?source=vercel-community'
Current result: HTTP/1.0 308 Permanent Redirect Location: https://www.gamereleaseradar.com/edge-routing-probe?source=vercel-community server: Vercel Following the first destination:
curl -sS -o /dev/null -D - --max-redirs 0
'https://www.gamereleaseradar.com/edge-routing-probe?source=vercel-community'
Current result: HTTP/2 308 location: https://gamereleaseradar.com/edge-routing-probe?source=vercel-community server: Vercel
Expected behavior
The original request should be canonicalized in one permanent Edge Network response: http://www.gamereleaseradar.com/path?query=value → 308 https://gamereleaseradar.com/path?query=value The path and query string should remain unchanged.
Requested improvement
Could Vercel provide one of the following?
Evaluate a configured project-domain redirect before issuing the automatic same-host HTTP-to-HTTPS redirect. Provide a domain setting that canonicalizes the scheme and hostname together in one Edge Network 308. Provide another officially supported configuration for producing this one-hop result. Vercel Agent indicated that HTTP-to-HTTPS currently runs before project-domain redirects and that this ordering cannot be changed per project. If there is no existing supported configuration, please treat this as an Edge Network routing feature request.
The current behavior does not cause an outage, but it creates an unavoidable redirect chain for every http://www request and prevents strict one-hop canonical-host normalization.
Thank you.