What is wrong here?
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.apples.co.uk
DocumentRoot /var/www/apples.co.uk
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.apples\.co\.uk$ [NC]
RewriteRule ^(.*)$ http://www.apples.co.uk/$1 [L,R=301]
</VirtualHost>
<VirtualHost *:80>
ServerName www.bananas.co.uk
DocumentRoot /var/www/bananas.co.uk
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.bananas\.co\.uk$ [NC]
RewriteRule ^(.*)$ http://www.bananas.co.uk/$1 [L,R=301]
</VirtualHost>
Problems:
apples.co.ukdoes correctly redirect towww.apples.co.uk, butbananas.co.ukredirects towww.apples.co.uk.When either
apples.co.ukorbananas.co.ukredirects, the address bar results withhttp://www.apples.co.uk//. What is causing that extra slash at the end?
Here the output of apachectl -S :
[Sun Jul 31 08:41:52 2011] [warn] NameVirtualHost *:80 has no VirtualHosts
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server www.apples.co.uk (/etc/apache2/httpd.conf:3)
port 80 namevhost www.apples.co.uk (/etc/apache2/httpd.conf:3)
port 80 namevhost www.bananas.co.uk (/etc/apache2/httpd.conf:11)
port 80 namevhost servername.apples.co.uk (/etc/apache2/sites-enabled/000-default:1)
Syntax OK
I guess the first problem is caused by the default server setting. How do I remove that? Does there need to be a default?
I know I also need to add to sites-enabled to get rid of the warning, but I'll leave that for another question.