Здравствуйте.
Во всех этих новомодных фреймворках и статьях "как делать правильно" (например,
Create your own PHP Framework) рекомендуют сначала завернуть все запросы на фронт-контроллер, а потом перенести его в отдельную папку (например
web или
public). Все статические файлы (типа картинок или файлов стилей) тоже хранить там. По соображениям безопасности разрешить клиентам доступ только в эту публичную папку, а ко всему остальному запретить.
Вот только не понятно, как это делать правильно. У меня родился вариант создать в корне сайта
.htaccessRewriteEngine on
RewriteRule ^web/(.*)$ web/$1 [L]
RewriteRule ^(.*)$ web/$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ web/index.php
Только я что-то засомневался. Может лучше попросить хостера переписать
VirtualHost и изменить корневую директорию сайта сразу в конфиге апача?