Запустите веб-сайт ASP.NET в подпапке

Есть ли способ запустить сайт ASP.NET в подпапке сайта?

В качестве примера, скажем, я хотел запустить wiki screwturn ( http://www.screwturn.eu/) в папке под названием "wiki" на моем веб-сайте. Могу ли я изменить web.config веб-сайта rewturn, чтобы сообщить ему, что он работает в папке "вики"? (как сказать, что "~/" = "/wiki/")

Затем вики найдет свои сборки, находящиеся в "~/bin" в "/ wiki / bin" и такие же для всех других папок ниже нового корня.

5 ответов

Решение

Это просто, вы можете добавить виртуальный каталог в корень сайта IIS и указать его путь к сайту, или поместить его в физический каталог в корне сайта, а затем превратить его в приложение, щелкнув по нему правой кнопкой мыши. в консоли управления IIS перейдите в свойства и нажмите "Создать" рядом с именем приложения.

Вам нужно остановить наследование конфигурации в корневом файле web.config, чтобы вики web.config ничего не читал из корневого web.config.

Как и другие отмечали. в основном вам нужно поместить это в ваше дочернее приложение Web.config, конечно же, вам также необходимо настроить домен (поддомен и т. д.), а также настройки IIS.

<configuration>    
  <location path="." inheritInChildApplications="false">

    //your code here

    <system.web>
      //your code here
    </system.web>

    //your code here

  </location>     
</configuration>

Мне пришлось сделать это недавно, и, сделав папку вики приложением (как было предложено в предыдущих ответах), мне также пришлось поместить фиктивную папку App_Themes -> Default на верхний уровень в приложении Wiki из-за присутствия из <pages styleSheetTheme="default" theme="default"> тег в родительском приложении Web.config. Небольшой взлом, но мне нравится настраивать свои стили в Asp.Net, и я не хотел это менять.

Короткий ответ - ДА, ты можешь. Не нужно указывать расположение папки в Web.Config.

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