Используя IIS6, как я могу поместить файлы в подпапку, но они будут обслуживаться, как если бы они были в корне? - PullRequest
1 голос
/ 05 сентября 2008

Наш веб-сайт ASP.NET 3.5, работающий на IIS 6, состоит из двух групп, добавляющих контент:

  • Команда разработчиков добавляет код.
  • Бизнес-команда добавляет простые веб-страницы.

Для здравомыслия и организации мы бы хотели, чтобы бизнес-команда добавила свои веб-страницы в подпапку проекта:

Root: для страниц команды разработчиков

Контент: для страниц бизнес-команды

Но

Мы бы хотели, чтобы пользователи могли переходить к контенту бизнес-группы без добавления «контента» в свои URL-адреса, как описано ниже:

Root : Default.aspx ( Доступно по адресу: www.oursite.com/default.aspx)

Содержание : Popcorn.aspx ( Доступно по адресу: www.oursite.com/popcorn.aspx)

Есть ли способ сделать запись конфигурации в инструменте перезаписи ISAPI для каждой из этих страниц?

Ответы [ 2 ]

2 голосов
/ 05 сентября 2008

Поскольку расширения будут ASPX, ASP.NET примет запрос ... вы можете написать HttpModule, который проверяет страницы, которые выдают 404, а затем проверять подпапку.

Если вы знаете, что все страницы определенного формата будут поступать из этой папки, вы можете просто переписать URL-адрес в ASP.NET (либо в Global.asax, либо в HttpModule).

1 голос
/ 05 сентября 2008

У меня нет способа проверить это прямо сейчас, но я думаю, что вы можете использовать флаг -f на RewriteCond, чтобы проверить, существует ли файл в любом каталоге.

RewriteCond %{REQUEST_FILENAME} -!f
RewriteCond Content/%{REQUEST_FILENAME} -f
RewriteRule (.*) Content/(.*)

Нечто подобное может сделать то, что вам нужно.

...