Документ IIS7 по умолчанию для urlMapped url выбрасывает ошибку 403

Надеюсь, все это имеет смысл:

У меня есть проект веб-приложения для сервера IIS7, который "поддерживает темы" и использует разные главные страницы.

В результате того, что я пытаюсь сделать, в корне проекта нет файлов aspx, поэтому я использую возможность web.config переписать "~ / default.aspx" в "~ / themes / a / default.aspx". "

это прекрасно работает, пока я набираю " http://www.mysite.com/default.aspx", но при вводе просто " http://www.mysite.com/" выдается 403 - Запрещено: доступ запрещен " ошибка

Я надеялся, что сочетание urlMapping и документа по умолчанию будет достаточно разумным, чтобы справиться с этим, но это не так

<system.webServer>
      <defaultDocument enabled="true">
          <files>
              <clear />
              <add value="default.aspx"/>
          </files>
      </defaultDocument>
</system.webServer>

я тоже пытался

<system.webServer>
      <defaultDocument enabled="true">
          <files>
              <clear />
              <add value="~/themes/a/default.aspx"/>
          </files>
      </defaultDocument>
</system.webServer>

но безрезультатно

Я надеялся, что браузер войдет без определенного документа, IIS7 предположит, что это default.aspx, а затем urlMapping отобразит его соответствующим образом, но нет

какие-нибудь указатели? Я прочитал тонну постов здесь с похожими проблемами, но не точная проблема

1 ответ

Вы можете обрабатывать оба сценария http://www.mysite.com/ и http://www.mysite.com/default.aspx с одним правилом перезаписи одного URL.

<rule name="Rewrite to theme folder">
    <match url=".*" />
    <conditions logicalGrouping="MatchAny">
        <add input="{URL}" pattern="^/default\.aspx$" />
        <add input="{URL}" pattern="^/$" />
    </conditions>
    <action type="Rewrite" url="/themes/a/default.aspx" logRewrittenUrl="true" />
</rule>

Документ по умолчанию может быть установлен только на имя файла. Вы не можете указать папку. IIS, вероятно, проигнорирует вашу запись, так как не может открыть ее как файл. Произошла ошибка 403, поскольку, вероятно, не указан (или не найден) другой документ по умолчанию, а просмотр каталогов отключен (по умолчанию).

Другие вопросы по тегам