Redirect from www. To Your Root Domain
Redirect your visitors to your root domain from the www subdomain.
Redirecting is useful for a variety of situations, including redirecting a visitor that goes to your domain with www.
prefixing the URL to your domain without that prefix.
Now provides configuration to help make redirecting easier through the routes
property within a now.json
file.
To redirect visitors from the www.
subdomain to your naked domain, you can create a now.json
file with the aforementioned configuration property in a new folder to deploy as a separate deployment to the one that is aliased to your naked domain.
Step 1: Project Setup
First, create a directory for this project to live in. For example, using a Unix terminal, create the directory redirect
and cd
into it:
Next, create a now.json
file in that directory with the following content:
{ "version": 2, "alias": ["www.your-domain.com"], "routes": [ { "src": "/(.*)", "status": 301, "headers": { "Location": "https://your-domain.com/$1" } } ] }
A now.json
configuration file that redirects all paths to the naked domain.
Configuration Breakdown
The above configuration uses a few properties to configure the deployment:
version
: The version property specifies the Now platform version to use, in this case, we are using the latest version 2.0.alias
: The alias property defines a single or set of aliases to assign the deployment to, using the production aliasing environment.routes
: The routes property allows Now to route your deployment as you intend it and configure it to be routed using a source and destination, or by way of a source, status, and headers.
With this configuration, you are allowing Now to understand how to route the visitor with the routes
property from the source, comprising of a PCRE regex capture group /(.*)
, a HTTP status of 301 (Moved Permanently), and a Location
header that directs to the naked domain with the captured path appended via $1
.
Step 2: Deploying
With the configuration complete and ready, you are ready to deploy. If you have not yet installed Now, you can do so by installing the Now Desktop app which installs Now CLI automatically, or by installing Now CLI directly.
Using Now CLI, you can deploy the project from your terminal using the following command:
To push your deployment into production, deploy and alias it with the production aliasing target:
Now, when visiting either the production alias (www.your-domain.com), a staging alias, or a deployment URL, the visitor will get redirected to the location set as defined by the routes
property in the now.json
file.