Hi I have installed new server with Ubuntu 16.04 Installed SSL Enabled rewrite mode
If I enter link as http://exemple.com/contact the page will work fine If I enter same link or redirect to https:// the page gives me 404 error
How to fix this error, looks like redirection only works on http links because if I disable SSL my site works great.
This is the way my sites available conf file looks like:
<VirtualHost *:80> <Directory /var/www/exemple.com> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> DocumentRoot /var/www/exemple.com ServerName www.exemple.com ServerAlias exemple.com </VirtualHost>
<IfModule mod_ssl.c> <VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName exemple.com
DocumentRoot /var/www/exemple.com
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
# A self-signed (snakeoil) certificate can be created by installing
# the ssl-cert package. See
# /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
# If both key and certificate are stored in the same file, only the
# SSLCertificateFile directive is needed.
SSLCertificateFile /etc/apache2/ssl/ftaelectronics.com/XXXXXXXXXXXcrt
SSLCertificateKeyFile /etc/apache2/ssl/ftaelectronics.com/XXXXXXX.key
SSLCertificateChainFile /etc/apache2/ssl/ftaelectronics.com/XXXXXX.crt
</VirtualHost>
</IfModule>
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.
Accepted Answer
Try adding <Directory> directive to your SSL virtual host.
The same one you used for HTTP will do the job:
<Directory /var/www/exemple.com>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
So your config will look like:
<VirtualHost *:80>
<Directory /var/www/exemple.com>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
DocumentRoot /var/www/exemple.com
ServerName www.exemple.com
ServerAlias exemple.com
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName exemple.com
DocumentRoot /var/www/exemple.com
<Directory /var/www/exemple.com>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
# A self-signed (snakeoil) certificate can be created by installing
# the ssl-cert package. See
# /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
# If both key and certificate are stored in the same file, only the
# SSLCertificateFile directive is needed.
SSLCertificateFile /etc/apache2/ssl/ftaelectronics.com/XXXXXXXXXXXcrt
SSLCertificateKeyFile /etc/apache2/ssl/ftaelectronics.com/XXXXXXX.key
SSLCertificateChainFile /etc/apache2/ssl/ftaelectronics.com/XXXXXX.crt
</VirtualHost>
</IfModule>
Save file, exit editor and make sure you restart Apache:
- sudo systemctl restart apache2
Try again and hope for best. :)
in my case, I had to remove this entire block of code from my apache conf file
<Location />
RewriteEngine on
# Some rewrite rules in this file were disabled on your HTTPS site,
# because they have the potential to create redirection loops.
# RewriteCond %{HTTPS} off
# RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R]
</Location>
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Scale up as you grow — whether you're running one virtual machine or ten thousand.

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.
