ociwordpress-multisite

Redirect custom domains to the Apache server

When redirecting custom domains to the Apache server, there are two steps to be performed:

  • Create a virtual host for each domain (with certificates, if required)
  • Add redirection rules to the Apache server configuration

Create a virtual host for each domain

To create a virtual host:

  • Add a ServerAlias in the /opt/bitnami/apps/APPNAME/conf/httpd-vhosts.conf file for your application. This option is designed to specify alternate names for a host and is used when matching requests. Here’s an example:

    <VirtualHost *:80>
    ServerName app.example.com
    ServerAlias www.app.example.com app.example.org www.app.example.uk.org
    ...
    
    <VirtualHost *:443>
    ServerName app.example.com
    ServerAlias www.app.example.com app.example.org www.app.example.uk.org
    ...
    

    You will also need to create new certificates for each virtual host running on port 443 or use existing certificates, such as the default certificates shipped with the stack. You can do this by updating the SSLCertificateFile and SSLCertificateKeyFile directives for the virtual host to reflect the correct path for each virtual host’s certificates, as shown in the sample lines below, or by creating symlinks to the default certificates.

    ...
    SSLCertificateFile "/opt/bitnami/apps/APPNAME/conf/certs/app.example.com.crt"
    SSLCertificateKeyFile "/opt/bitnami/apps/APPNAME/conf/certs/app.example.com.key"
    ...        
    
  • Check that the /opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf file includes the httpd-vhosts.conf file for your application. It should include a line like the one below.

    Include "/opt/bitnami/apps/APPNAME/conf/httpd-vhosts.conf"
    

    If it does not, add the line above to the /opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf file, replacing the APPNAME placeholder with the correct directory name for your application.

  • After modifying the Apache configuration files, restart Apache to apply the changes.

Add redirection rules

The next step is to add the necessary redirection rules for each domain. The sections below cover two common scenarios.

Redirect www.myapp.example.com to myapp.example.com

This redirection is an SEO “best practice”.

  • Add the following rules in the /opt/bitnami/apps/APPNAME/conf/httpd-vhosts.conf file, within the VirtualHost block for your domain:

    <VirtualHost *:80>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ http://%1$1 [R=permanent,L]
    ...
    
    <VirtualHost *:443>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ https://%1$1 [R=permanent,L]
    ...
    
  • After modifying the Apache configuration files, restart Apache to apply the changes.

Redirect myapp.example.com to www.myapp.example.com

  • Add the following in the /opt/bitnami/apps/APPNAME/conf/httpd-vhosts.conf file in the VirtualHost block for your domain. Or, to apply this redirection by default for all domains, add it to the default VirtualHost block in the /opt/bitnami/apache2/conf/bitnami.conf file.

    <VirtualHost *:80>
      RewriteEngine On
      RewriteCond %{HTTP_HOST} !^www\. [NC]
      RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
     ...
    
    <VirtualHost *:443>
      RewriteEngine On
      RewriteCond %{HTTP_HOST} !^www\. [NC]
      RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
     ...
    
  • After modifying the Apache configuration files, restart Apache to apply the changes.

Last modification April 8, 2020