Хорошо, название может немного запутать.
У меня есть контейнер 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, а не на основе пути.