There are separate vhost definitions for 80 and 443 as Chaulky points out. Apache setup is a little more complicated when dealing with SSL. Your vhosts should be something like this:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/drupal6
<Directory /var/www/drupal6>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error_example.com.log
CustomLog /var/log/apache2/access_example.com.log combined
ServerSignature On
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www\.example\.com
DocumentRoot /var/www/drupal6
<Directory /var/www/drupal6>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error_example.com.log
CustomLog /var/log/apache2/access_example.com.log combined
ServerSignature On
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
# Put SSL stuff in here
</VirtualHost>
So you have one for port 80 and one for port 443.
Check your ports.conf to make sure that you have something like:
Listen 443
Unless you have a good reason not to, I would ditch the securepages module altogether and just run the entire site in SSL mode. By the look of the rule in your .htaccess, that's what you're trying to do anyway.
If you wanted to redirect all non-secure traffic to secure, you could use this version of the non-secure vhost:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/drupal6
Redirect / https://www.example.com
ErrorLog /var/log/apache2/error_example.com.log
CustomLog /var/log/apache2/access_example.com.log combined
ServerSignature On
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
</VirtualHost>
Bit of a long one, sorry, but hopefully this is what you're looking for!