Запустите веб-сайт 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.