DNS-based URL redirects. No server, no signup, no dashboard.
Two DNS records describe a redirect: one points your hostname at our server,
and a TXT record describes where to send visitors. We read the
TXT record at request time and issue the redirect. No accounts,
no dashboard. Your DNS provider is the source of truth.
alias.redirect.name:
| Type | Name | Value |
|---|---|---|
CNAME |
go.example.com. |
alias.redirect.name. |
If your DNS provider doesn't support CNAME flattening at the
apex (sometimes offered as an ALIAS or ANAME
record), you can use an A record pointing to
45.55.126.223 instead.
TXT record at _redirect.<your-hostname>:
| Type | Name | Value |
|---|---|---|
TXT |
_redirect.go.example.com. |
Redirects to https://example.com/ |
The _redirect. prefix is required because TXT
and CNAME records can't coexist at the same name.
The TXT record value is the rule. The syntax is plain English:
TXT record value |
Behavior |
|---|---|
Redirects to <url> |
302 to <url> |
Redirects permanently to <url> |
301 to <url> |
Redirects from <path> to <url> |
302 when the request path matches |
Redirects from <path> to <url> with 308 |
Same, with explicit status: 301, 302, 307, or 308 |
Redirects from /path/* to https://example.com/* |
Wildcard: whatever * matches in the path replaces * in the destination |
Destinations can use http://, https://,
ftp://, mailto:, magnet:, or an
absolute path.
You can add multiple TXT records at the same name.
Path-specific rules (Redirects from …) are tried first;
catch-all rules (Redirects to …) only apply if no path rule
matches.
Simple redirect. Send all traffic to a single URL:
| Type | Name | Value |
|---|---|---|
TXT |
_redirect.go.example.com. |
Redirects to https://www.example.com/ |
Permanent redirect. For moves that won't be undone:
| Type | Name | Value |
|---|---|---|
TXT |
_redirect.old.example.com. |
Redirects permanently to https://new.example.com/ |
Path routing. Redirect one path, send the rest somewhere else:
| Type | Name | Value |
|---|---|---|
TXT |
_redirect.docs.example.com. |
Redirects from /api to https://api-docs.example.com/ |
TXT |
_redirect.docs.example.com. |
Redirects to https://docs.example.com/ |
Wildcard forwarding. Whatever * matches in the path replaces * in the destination:
| Type | Name | Value |
|---|---|---|
TXT |
_redirect.links.example.com. |
Redirects from /blog/* to https://blog.example.com/posts/* |
Other schemes. Redirect to mail, magnet links, etc.:
| Type | Name | Value |
|---|---|---|
TXT |
_redirect.hi.example.com. |
Redirects to mailto:hello@example.com |
HTTPS works out of the box. Certificates are issued automatically by Let's Encrypt on the first request to a new hostname. That request may take a couple of seconds while the cert is provisioned; everything after is immediate.
If something isn't working, check what DNS is actually serving.
Confirm the CNAME or A record resolves:
dig +short go.example.com.
Confirm the TXT record is reachable and matches what you set:
dig +short TXT _redirect.go.example.com.
If both look right but the redirect doesn't happen, the rule may not
parse. Make sure the value starts with the word Redirects
(capitalized) and that the destination is a fully qualified URL or an
absolute path.