Sample Apache configurations to force SSL for a specific site or for specific web-paths or directories.
Force Site-Wide SSL
The easist of configurations is the force SSL for the entire site.
# Host to Listen on Port 80 <VirtualHost 216.162.208.161:80> ServerName ssl.edoceo.com RewriteEngine On RewriteRule (.*) https://edoceo.com$1 [R=301,L] </VirtualHost> # actual ssl site <VirtualHost 216.162.208.161:443> DocumentRoot /var/www/ssl.edoceo.com ServerName edoceo.com SSLEngine on SSLOptions +StdEnvVars SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile /etc/apache2/ssl/edoceo.com.crt SSLCertificateKeyFile /etc/apache2/ssl/edoceo.com.key-open <VirtualHost>
Force Site-Path SSL
This this configuration SSL traffic is only enforced for specific URI-paths on the host.
# The Site <VirtualHost 216.162.208.161:80> ServerName edoceo.com # Only Rewrite If SSL Off RewriteCond %{HTTPS} off RewriteRule (/login.*) https://edoceo.com$1 [R=301,L] RewriteRule (/logout.*) https://edoceo.com$1 [R=301,L] RewriteRule (/checkout.*) https://edoceo.com$1 [R=301,L] <VirtualHost>