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.

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
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 *:80>
    ServerName 1.main.com
    DocumentRoot "/www/1.main.com"

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:

by Brennen Bearnes
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.