Ответ 1
Если у вас есть возможность редактировать vhost-конфигурационные файлы, вы всегда должны это делать..htaccess интерпретируется с каждым запросом, который делается на вашем сайте, а с другой стороны, vhost.conf интерпретируется только на httpd restart/reload.
Вы можете установить Options
в директиве Directory - например:
<Directory /usr/local/apache2/htdocs/somedir>
Options +FollowSymLinks +ExecCGI
</Directory>
<VirtualHost [...]>
[...]
RewriteEngine On
RewriteCond %{SERVER_NAME} ^([^.]+\.[^.]+)$ [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
# we check if the .html version is here (caching)
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
# no, so we redirect to our front web controller
RewriteRule ^(.*)$ index.php [QSA,L]
</VirtualHost>
Также посмотрите на wikipost на apache.org - особенно раздел" Когда мне это нужно, и не следует ли использовать файлы .htaccess?