Report this

What is the reason for this report?

Apache vhost issue, two domains, second redirects to first ?

Posted on January 14, 2017

Hello, I have two domains say for example site1.co.uk and site2.uk

I have set my web directory up to be like /var/www/site1.co.uk/www and /var/www/site2.uk/www.

For the vhost conf file for each domain, I have pointed the docroot to the nessesary directory.

Here is an example of my config files:

site1.co.uk.conf

<VirtualHost *:80>
    ServerAdmin email@site1.co.uk
    ServerName site1.co.uk
    ServerAlias www.site1.co.uk
    DocumentRoot /var/www/site1.co.uk/www
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

site2.uk.conf

<VirtualHost *:80>
    ServerAdmin email@site2.uk
    ServerName site2.uk
    ServerAlias www.site2.uk
    DocumentRoot /var/www/site2.uk/www
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

I have also ran these commands:

a2ensite site1.co.uk.conf
a2ensite site2.uk.conf
service apache2 reload

Now when I enter site1.co.uk or www.site1.co.uk in my browser. No problem. The website loads, the correct doc root loads etc.

When I load site2.uk or www.site2.uk it just redirects to www.site1.co.uk. I have installed a headers extension on my browser and it is telling me it gives Status: HTTP/1.1 301 Moved Permanently.

Can anyone give me pointers how to correct this issue?



This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

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.

@arronparker93

Your VirtualHost configurations appear to be correct, though you said that what you provided are just examples. Can you post the full configurations?

Also, have you checked for an .htaccess in the root of either site? If they exist, please post them as well. With a valid, working .htaccess file, it’s possible for a redirect to be defined, so we should check there as well.

This comment has been deleted

@arronparker93

As long as the VirtualHosts actually look like the below for each domain – i.e. each definition is set on a new line.

<VirtualHost *:80>
ServerAdmin arron@aparkermedia.uk
ServerName kaiserknight.co.uk
ServerAlias www.kaiserknight.co.uk
DocumentRoot /var/www/kaiserknight.co.uk/www/
ErrorLog ${APACHELOGDIR}/error.log
CustomLog ${APACHELOGDIR}/access.log combined
</VirtualHost>

Then your Apache configuration looks good. So let’s look elsewhere…

When performing a DNS lookup on your domain names, the only valid entry I see, other than your MX, is a single A entry for each domain.

When looking at your VirtualHost configuration, you’re setting a ServerAlias that defines the www. access point for each domain, but you’re missing a DNS entry on both domains that points www. to your domain. Since the DNS record isn’t set, Apache will handle it the best way it knows how, which may or may not be correct.

So what I would recommend doing is adding an A entry to each domains’ DNS records. The A entry should point to the same IP that your domain points to (i.e. the public IP of the Droplet).

So www should be an A entry that points to 46.101.19.243 in your case. Since it looks like your using DigitalOcean for your DNS, you can make these changes through their control panel and the updates should take effect pretty quickly. If they don’t, you may need to clear your browsers cache and then try to access your domains again.

If the DNS updates do not fix the issue, then we’d need to check the logs and potentially even the actual configuration for Apache.

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.