You have to question some confusion, so I'll talk about ways to do a redirect from www to no-www:
1.Create two VirtualHost for two domains and use 301 redirect:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName example.com
DocumentRoot "/path/to/site"
</VirtualHost>
<VirtualHost *:80>
ServerName www.example.com
Redirect 301 / http://example.com/
</VirtualHost>
2.Create two VirtualHost for two domains and use .htaccess with redirect-rule:
<VirtualHost *:80>
ServerName example.com
DocumentRoot "/path/to/site1"
</VirtualHost>
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot "/path/to/site2"
</VirtualHost>
and create /path/to/site2/.htaccess with
Redirect 301 / http://example.com/
3.Create 1 VirtualHost and set redirect in common .htaccess:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot "/path/to/site"
</VirtualHost>
create /path/to/site/.htaccess with
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
<VirtualHost>
container fordomain.com
? – MrWhite Jan 16 '13 at 9:57