Minimal Netlify site whose only job is to 301-redirect the apex domain
pycon.org.au to the current conference site https://2026.pycon.org.au,
over HTTPS, preserving the path.
There is no website here. Just a redirect rule and a fallback page.
_redirects— the actual rule./* -> https://2026.pycon.org.au/:splat 301!netlify.toml— the same rule in config form (belt and braces) + tells Netlify to publish this folder directly with no build step.index.html— placeholder so Netlify has something to deploy; also a meta-refresh fallback if the redirect rule ever fails to fire.
When PyCon AU moves to a new year (e.g. 2027), change the target in BOTH
_redirects and netlify.toml, commit, and Netlify redeploys automatically.
If you ever have to set this up from scratch - this is roughly how to approach it.
- Push this repo to GitHub (or drag-and-drop the folder into Netlify).
- In Netlify: Add new site -> Import (or drop the folder).
- No build command; publish directory is
..
- Netlify -> Site -> Domain management -> Add a domain ->
pycon.org.au. - Netlify will show the DNS target for the apex (an A record to their load
balancer, and/or an ALIAS/CNAME for
www). Use the values Netlify shows you at setup — do not hardcode an IP from memory, it can change. - Add those records at whichever DNS host is authoritative (VentraIP now; the new registrar/DNS host later).
- Let Netlify provision the Let's Encrypt certificate (automatic once DNS resolves to them).
# Should return: HTTP/... 301, and Location: https://2026.pycon.org.au/
curl -sI https://pycon.org.au/ | grep -i -E 'HTTP/|location'
# Path preservation — Location should end in /call-for-proposals
curl -sI https://pycon.org.au/call-for-proposals | grep -i location
# Certificate is valid (no error printed)
curl -sI https://pycon.org.au/ >/dev/null && echo "TLS OK"
- 301 is a permanent redirect and is cached hard by browsers. Confirm the target is correct before going live — a wrong 301 is sticky.
- Keep TTLs low on the apex A record during cutover so mistakes are quick to undo.