У нас есть типичная настройка в IIS для нашего веб-приложения с виртуальными каталогами для разных проектов:
В веб-приложении есть login.aspx как документ по умолчанию, как и все виртуальные каталоги. Теперь мне нужен другой документ по умолчанию (index.aspx) только для сайта www.webapp.com. Виртуальные каталоги по-прежнему будут использовать login.aspx и только его.
РЕДАКТИРОВАТЬ: все виртуальные каталоги указывают на один и тот же физический каталог. Если я изменю документ по умолчанию для www.webapp.com, он также изменится для всех базовых виртуальных каталогов.
Раньше это было легко в IIS 6, но в IIS 7.5 мне не удалось это реализовать.
Я думаю мне нужно переделать applicationhost.config добавив теги местоположения, но я понятия не имею, с чего начать. Может ли кто-нибудь указать мне правильное направление?
Спасибо! Stijn
Для этого вам необходимо изменить файл ApplicationHost.config. В настоящее время файл находится в каталоге% windir% \ system32 \ inetsrv \ config.
Раздел «Расположение» ближе к концу документа необходимо изменить соответствующим образом в зависимости от документов вашего приложения по умолчанию. например -
<location path="Default Web Site/App">
<system.webServer>
<defaultDocument enabled="true">
<files>
<clear />
<add value="Login.aspx" />
</files>
</defaultDocument>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
</location>
<location path="Default Web Site/App/VApp2">
<system.webServer>
<defaultDocument enabled="true">
<files>
<clear />
<add value="LoginPage2.aspx" />
</files>
</defaultDocument>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
</location>
1) Перейдите в -> IIS -> виртуальный каталог (дважды щелкните) -> щелкните Документ по умолчанию -> щелкните кнопку добавления -> Введите свой html, aspx, ... и т. Д. Для (например, index.html, k. html)
2) Перейдите в свой физический каталог -> откройте файл web.config с помощью (notepad ++)
3) удалить все строки
4) добавьте эти строки
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path="XX">
<system.webServer>
<defaultDocument enabled="false">
<files>
<clear />
<add value="XXX.html" />
</files>
</defaultDocument>
</system.webServer>
</location>
</configuration>
5) Отредактируйте некоторые изменения
<location path="XX">
XX -> имя вашего виртуального каталога
<add value="XXX.html" />
XXX.html -> имя вашей страницы с расширением
Да, самый простой (читай: cheat-i-est) способ настроить это:
Откройте делегирование функций и отключите делегирование модуля документа по умолчанию (или сделайте его доступным только для чтения) для сайта.
После этого графический интерфейс создаст <location>
теги для вас на любом уровне ниже, чем только что настроенная вами настройка делегирования.
Может я не понял твоей проблемы, но мне это кажется банальным.
Откройте Internet Information Services Manager, выберите виртуальный каталог (дважды щелкните). В разделе IIS откройте «Документ по умолчанию» и установите документ по умолчанию (или удалите некоторые).
Повторите процедуру для всех ваших виртуальных каталогов.
ОБНОВИТЬ:
Вопрос: Указывают ли (некоторые из) ваши виртуальные каталоги на один и тот же физический каталог? IIS сохраняет информацию в файлах web.config в физическом каталоге. Это может быть твоей проблемой.
Обходной путь: создайте логику, которая перенаправляет запросы виртуальных каталогов. Или создайте копию своего физического каталога, чтобы файлы web.config можно было настроить индивидуально.