Ubuntu, Letsencrypt - Redirect from a non subdomain

August 31, 2017 679 views
Apache Let's Encrypt Ubuntu
LeeChilli
By:
LeeChilli

We have a main website (main.com) and some subdomain (1.main.com) website for the same domain on one server all using HTTPS.

If you try and access the main domain using a subdomain not in use (2.main.com) it'll take you to the last subdomain setup on the website (1.main.com) rather than the main website (main.com)

Is there a way to point the non setup subdomains to correctly redirect to the main website.

1 Answer

It sounds like you have a wildcard DNS entry in place that directs any requests for *.main.com to the same IP address. In this case, Apache will route the request to the VirtualHost that matches. If no VirtualHost is an exact match, it will use the first one defined. So you'll want to ensure that main.com is defined first:

<VirtualHost *:80>
    ServerName main.com
    DocumentRoot "/www/main.com"
</VirtualHost>

<VirtualHost *:80>
    ServerName 1.main.com
    DocumentRoot "/www/1.main.com"
</VirtualHost>

If you have the VirtualHosts in separate files, the order they are loaded will determine it. So use a filename like: 000-main.com.com to ensure it is loaded first.

For more info, see the Apache documentation and check out this tutorial:

The Apache web server is the most popular way to serve web content on the internet. Apache has the ability to serve multiple domains from a single server by using a mechanism called "virtual hosts". If a virtual host is configured correctly for each domain, the web server can correctly route traffic to the appropriate files based on the domain name requested. In this guide, we'll demonstrate how to configure Apache virtual hosts on an Ubuntu 16.04 server.
Have another answer? Share your knowledge.