HostMonster Web Hosting Help
Wildcard SSL Certificates
Overview
This article will show you how to use your WildCard SSL Certificate, on your HostMonster hosting account, using mod_rewrite. This is required due to a limitation in WHM that only allows there to be one virtualhost entry.
- Folder Structure
- Accessing the .htaccess File
- Generic mod_rewrite Rule
- WordPress/Drupal/Joomla mod_rewrite Rule
Folder Structure
The subdomain must be assigned to a folder that is underneath the folder its parent domain is assigned to. Because of the way subdomains are assigned, it's easy for a subdomain to not be put inside the parent domains folder. You will need to reassign the domain to a folder under the parent domain in this situation.
Example: Say you have a wildcard SSL certificate for example.com. Example.com is assigned to the public_html folder. I want to use my certificate on sub.example.com. In this case sub.example.com should be assigned to public_html/sub/ because sub is a directory underneath public_html.
Accessing the .htaccess File
The .htaccess file is located in the parent domain's folder. While you can use an FTP or an SSH client to access the file, for this article we will be using the File Manger.
- Login to your HostMonster cPanel
- Click the "File Manager", located in the Files section of the cPanel.
- Check the box "Show Hidden Files (dotfiles)."
- Right click the .htaccess file and choose "Edit" or "Code Edit
- For basic HTML sites follow the instructions under Generic mod_rewrite Rule and copy the code into the Editor. If you have a WordPress, Joomla or Drupal site follow the instructions under WordPress/Joomla/Drupal mod_rewrite Rule.
- Click Save Changes.
Generic mod_rewrite Rule
If you have a basic HTML site copy the following text into your public_html/.htaccess file.
Note: You should not use this if you have a WordPress, Joomla or Drupal site. Use the instructions under WordPress/Joomla/Drupal mod_rewrite Rule instead.
You will need to replace subdomain with your subdomain and example.com with your domain name.
# HostMonster.com
#.htaccess WildCard SSL
RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain.example.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subfolder/$1
RewriteCond %{HTTP_HOST} ^subdomain.example.com$
RewriteRule ^(/)?$ subfolder/index.php [L]
Once you have modified this code you may need to clear your browser cache to be able to see the redirect.
WordPress/Joomla/Drupal mod_rewrite Rule
For WordPress, Joomla or Drupal sites copy the following code:
If Just The Subdomain Holds either a WordPress, Joomla, or Drupal Site
If your subdomain holds either a WordPress, Joomla, or Drupal site but the parent domain does not, copy the following code.
You will need to replace subdomain with your subdomain and example.com with your domain name.
# Custom subdomain .htaccess SSL + WordPress
RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain.maindomain.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteRule ^(.*)$ /subfolder/$1
RewriteCond %{HTTP_HOST} ^subdomain.maindomain.com$
RewriteRule ^(/)?$ subfolder/index.php [L]
# End custom subdomain .htaccess
If The Parent Domain has WordPress
If both the parent domain and the subdomain have either a WordPress, Joomla, or Drupal site copy the following code into your .htaccess file. This code will replace the WordPress permalink code.
You will need to replace subdomain with your subdomain and example.com with your domain name.
# Custom subdomain .htaccess SSL + WordPress
RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain.maindomain.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteRule ^(.*)$ /subfolder/$1
RewriteCond %{HTTP_HOST} ^subdomain.maindomain.com$
RewriteRule ^(/)?$ subfolder/index.php [L]
# End custom subdomain .htaccess
# Custom maindomain .htaccess WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?maindomain.com$
RewriteRule ^index\.php$ - [L]
RewriteCond %{HTTP_HOST} ^(www.)?maindomain.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# End custom maindomain .htaccess
You may need to clear your browser cache for the new rules to work. After that your Wildcard SSL certificate should be working.