Назад | Перейти на главную страницу

Конфигурация Apache vhosts для непостоянных папок

Хорошо, название может немного запутать.

У меня есть контейнер TrueCrypt, который монтируется как новый диск X: на моем компьютере с Windows. Теперь я хочу, чтобы мой локальный тестирующий Apache доставлял файлы оттуда через http://x.localhost:

<VirtualHost *:80>
    DocumentRoot "X:/htdocs"
    ServerName x.localhost
    <Directory "X:/htdocs">
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Все идет нормально. Когда контейнер TrueCrypt смонтирован, все в порядке. Моя проблема начинается когда нет диска "X:" (что, к сожалению, обычное дело). Затем Apache отказывается запускаться, потому что он жалуется на отсутствие папок для DocumentRoot и <Directory> директива.

Есть ли возможность реализовать какой-нибудь хитрый переключатель, чтобы Apache запускался, даже если диск X: отсутствует?

В unix Apache предупредит об отсутствии корневого каталога документа, но продолжит работу.

Вы можете попробовать:

DocumentRoot C:/
Alias / X:/htdocs
<Location "/">
    Order allow,deny
    Allow from all
</Location>

Вы указываете существующий документ. Возможно, вам нужен каталог получше, возможно, пустой. Затем мы присваиваем корневому uri псевдониму docroot. Наконец, мы используем блок на основе uri, а не на основе пути.