I have changed all personal information, but this exact same config works just fine on *:80. Turning on verbose log levels for both rewrite and normal access logs creates a file full of SSL information, but no actual document requests. Stumped.
<VirtualHost *:443>
ServerName *.domain.com
DocumentRoot /domain/web/public
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.* [NC]
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com
RewriteRule ^(.*) /file.php?parameter=%1 [L]
<Directory /domain/web/public>
Options -Indexes IncludesNOEXEC FollowSymLinks -MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
SSLEngine on
SSLCertificateFile /domain/etc/domain.crt
SSLCertificateKeyFile /domain/etc/domain.key
</VirtualHost>
Other virtualhost files were interfering with the virtualhost in question. Not the best solution, but following what craniumonempty wants: I commented out all the other host files to do nothing until I have more time to figure out why fine-tuning them didn't work.