Manage subdomains
Once you have added your domain to Cloudflare and updated your nameservers, you also might want to set up a subdomain.
Most subdomains serve a specific purpose within the overall context of your website. For example, blog.example.com
might be your blog, support.example.com
could be your customer help portal, and store.example.com
would be your e-commerce site.
Create a subdomain
If you have already added a subdomain at your host, create a corresponding DNS A or CNAME record for that subdomain (blog
, store
).
Set up redirects
Redirect a subdomain to root domain
Sometimes, you might want all traffic to a subdomain (www.example.com
) to actually go to your root domain (example.com
).
Create a proxied DNS A record for your subdomain. This record can point to any IP address since all traffic will be redirected prior to reaching the address.
Type Name IPv4 address Proxy status A www
192.0.2.1
Proxied Create a Single Redirect to forward traffic from your subdomain to your root domain.
When incoming requests match
Using the Expression Editor:(http.request.full_uri contains "www.example.com")
Then
- Type: Dynamic
- Expression:
concat("https://","example.com",http.request.uri.path)
- Status code: 301
Redirect root domain to a subdomain
Sometimes, you might want all traffic to your root domain (example.com
) to actually go to a subdomain (www.example.com
).
If you have already added that subdomain at your host, create a corresponding DNS A or CNAME record for that subdomain.
Create a proxied DNS A record for your root domain. This record can point to any IP address since all traffic will be redirected prior to reaching the address.
Type Name IPv4 address Proxy status A @
192.0.2.1
Proxied Create a Single Redirect to forward traffic from your root domain to your subdomain.
When incoming requests match
Using the Expression Editor:(lower(http.host) eq "example.com")
Then
- Type: Dynamic
- Expression:
concat("https://","www.example.com",http.request.uri.path)
- Status code: 301
SSL/TLS for subdomains
If your main domain is using Cloudflare’s Universal SSL certificate, that certificate also covers all first-level subdomains (blog.example.com
).
For deeper subdomains (dev.blog.example.com
), use a different type of certificate.
Customize subdomain behavior
If you want to customize Cloudflare settings for individual subdomains, your approach will vary depending on your plan.
Enterprise customers can set up custom settings and access for a specific subdomain within Cloudflare with Subdomain support.
All other customers can set up subdomain-specific Page Rules to alter Cloudflare settings.
If you want a subdomain’s DNS settings managed totally outside of Cloudflare — meaning this subdomain can be managed by individuals without access to your Cloudflare account — refer to Delegating subdomains outside of Cloudflare.