В IIS я хочу, чтобы список каталогов был включен при обслуживании с тестового сервера. С тем же web.config
Я не хочу, чтобы список каталогов был включен на производственном сервере. Это возможно?
Одна и та же структура каталогов монтируется как на тестовом, так и на рабочем сервере.
Мой нынешний web.config
выглядит как:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path=".">
<system.webServer>
<directoryBrowse enabled="false" />
</system.webServer>
</location>
<location path="this/directory/listing/should/only-show-on-test-server">
<directoryBrowse enabled="true" />
</system.webServer>
</location>
У вас есть два варианта:
Ваш основной файл web.config будет иметь:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path=".">
<system.webServer>
<directoryBrowse enabled="false" />
</system.webServer>
</location>
<location path="foo">
<system.webServer>
<directoryBrowse configSource="ServerSpecificDirectorySettings.config" />
</system.webServer>
</location>
</configuration>
второй файл ServerSpecificDirectorySettings.config
только что:
<directoryBrowse enabled="true" />
location
узлов в файле ApplicationHost.config.У обоих решений есть плюсы и минусы, я думаю, это немного зависит от того, как вы развертываете свои сайты. Если вы хотите, чтобы все файлы были одинаковыми на всех серверах, вам нужно выбрать второй вариант. Но для развертывания x-copy первый вариант лучше.