Apache2 VirtualHost config

Apache2 listens on wo ports. 80 and 443.

We have one .mobi domain that needs to run on port 80. (The first virtual directory).

All other traffic on port 80 needs to be redirected to a specific domain on port 443. (2nd and 3rd virtual directories respectively).

Basically the first virtual directory doesn't seem to work correctly because even the .mobi domain is being redirected to the domain running on port 443.
<VirtualHost www.domainname.mobi:80>
	ServerAdmin info@domainname.co.za
	ServerName www.domainname.mobi
	ServerAlias domainname.mobi www.domainname.mobi
	DocumentRoot /wwwroot/domainname/www/
	DirectoryIndex m.index.php index.php
	<Directory />
		Options -Indexes
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>
 
	ErrorLog /var/log/apache2/error.log
 
	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn
 
	CustomLog /var/log/apache2/access.log combined
	ServerSignature Off
 
</VirtualHost>
<VirtualHost 196.***.***.***:80>
	ServerAdmin info@xpandit.co.za
	ServerName www.domainname.co.za
	DocumentRoot /wwwroot/domainname/www/
	<Directory />
		Options -Indexes
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>
 
	ErrorLog /var/log/apache2/error.log
 
	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn
 
	CustomLog /var/log/apache2/access.log combined
	ServerSignature Off
	RewriteEngine on
	RewriteCond %{SERVER_PORT}      !^443$
	RewriteRule ^/(.*)              https://www.domainname.co.za/$1 [R=301,L]
 
</VirtualHost>
<VirtualHost 196.***.***.***:443>
	ServerAdmin info@xpandit.co.za
	ServerName www.domainname.co.za
	DocumentRoot /wwwroot/domainname/www/
	SSLEngine on
	SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
	SSLProtocol -all +TLSv1 +SSLv3
	SSLCertificateFile /etc/ssl/certs/server.crt
	SSLCertificateKeyFile /etc/ssl/private/server.key	
	<Directory />
		Options -Indexes
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>
 
	ErrorLog /var/log/apache2/error.log
 
	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn
 
	CustomLog /var/log/apache2/access.log combined
	ServerSignature Off
 
</VirtualHost>

Open in new window

xpanditAsked:
Who is Participating?
 
caterham_wwwCommented:
Do youi have more then one IP adress? If not, use name-based virtual hosts for port 80, not IP-based:
NameVirtualhost *:80
<VirtualHost *:80>
        ServerAdmin info@xpandit.co.za
        ServerName www.domainname.co.za
        DocumentRoot /wwwroot/domainname/www/
        <Directory />
                Options -Indexes
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
 
        ErrorLog /var/log/apache2/error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
 
        CustomLog /var/log/apache2/access.log combined
        ServerSignature Off
        # Keep it simple; no need for mod_reweite; the port is always 80
        Redirect 301 / https://www.domainname.co.za/
</VirtualHost>
<VirtualHost *:80>
        ServerAdmin info@domainname.co.za
        ServerName www.domainname.mobi
        ServerAlias domainname.mobi www.domainname.mobi
        DocumentRoot /wwwroot/domainname/www/
        DirectoryIndex m.index.php index.php
        <Directory />
                Options -Indexes
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
 
        ErrorLog /var/log/apache2/error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
 
        CustomLog /var/log/apache2/access.log combined
        ServerSignature Off
</VirtualHost>
 
<VirtualHost 196.***.***.***:443>
        ServerAdmin info@xpandit.co.za
        ServerName www.domainname.co.za
        DocumentRoot /wwwroot/domainname/www/
        SSLEngine on
        SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
        SSLProtocol -all +TLSv1 +SSLv3
        SSLCertificateFile /etc/ssl/certs/server.crt
        SSLCertificateKeyFile /etc/ssl/private/server.key       
        <Directory />
                Options -Indexes
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
 
        ErrorLog /var/log/apache2/error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
 
        CustomLog /var/log/apache2/access.log combined
        ServerSignature Off
 
</VirtualHost>

Open in new window

0
 
xpanditAuthor Commented:
Perfect. Thank you.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.