Thanks Susan... I tried adding those in but they did not go over so well. Also I think my point might have been missed. I can force www or no www, but I want to make the links persistent based on the initial landing. so if they hit www. all links will have the www - if no www, stick to no www.
Here is my current conf in apache for the host, we need to offer https on certain pages, so there is another thing to get around.
<virtualhost *:80>
DocumentRoot "/var/www/somesite.com/"
<Directory "/var/www/somesite.com/">
allow from all
Options FollowSymLinks Indexes
AllowOverride all
DirectoryIndex index.php
</Directory>
RewriteEngine On
RewriteRule ^/?secure/(.*) https://%{SERVER_NAME}/secure/$1 [R,L]
RewriteRule ^/?signup/(.*) https://%{SERVER_NAME}/signup/$1 [R,L]
ServerName somesite.com
CustomLog /var/log/apache2/somesite.com-access.log combined
ErrorLog /var/log/apache2/somesite.com-error.log
LogLevel warn
</VirtualHost>
<virtualhost *:443>
DocumentRoot "/var/www/somesite.com/"
<Directory "/var/www/somesite.com/">
allow from all
Options FollowSymLinks Indexes
AllowOverride all
DirectoryIndex index.php
</Directory>
RewriteEngine On
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteCond %{REQUEST_URI} !^/cartoweb3
RewriteCond %{REQUEST_URI} !^/tmp
RewriteCond %{REQUEST_URI} !^/ms_tmp
RewriteRule (.*) ${lc:$1} [R=301,L]
ServerName somesite.com
CustomLog /var/log/apache2/somesite.com-access.log combined
ErrorLog /var/log/apache2/somesite.com-error.log
LogLevel warn
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/somesite.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/www.somesite.com.key
SSLCertificateChainFile /etc/apache2/ssl/gd_bundle.crt
</VirtualHost>
and the .htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]
FileETag none
AddType text/x-component .htc
php_flag register_globals Off
php_flag zlib.output_compression On
php_value zlib.output_compression_level 9
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ \
no-gzip dont-vary
SetEnvIfNoCase Request_URI \
\.(?:exe|t?gz|zip|bz2|sit|rar)$ \
no-gzip dont-vary
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
ErrorDocument 403 /
We are also using transalias if that matters