Как я настраиваю IIS 7 (обесценьте asp.net) указать на субдомены на подкаталоги приложения?

Возможно, попробуйте старую добрую xcopy

3
задан 31 March 2010 в 03:40
2 ответа

Используя URL Переписывают, который упомянул Sam Cogen, который автоматически установлен в любой скидке учетная запись asp.net (и который может быть установлен на любом сервере IIS7), я создал переписать правило решить мою проблему.

Примечание: Штат со скидкой, в asp.net было сказано, что переписать правило является единственным способом выполнить это на одной из их учетных записей помимо программного сценария. Скидка, которую asp.net обеспечивает программному (я говорю, что взлом) сценарий, который направит субдомены к подкаталогам, но мне были нужны больше гибкости и производительности, чем такое решение, обеспечит.

Если IIS 7 переписывает модуль, не установлен, необходимо будет найти модуль (вероятно, в веб-сайте IIS Microsoft) и затем установить его.

После того как переписать модуль установлен в IIS, подключении к нему с помощью менеджера по IIS.

Удостоверьтесь, что у Вас есть корневой уровень веб-сайта, выбранного при создании правила (а не подкаталог, где приложение), это очень важно, потому что это привело меня к критической ошибке, которая потратила впустую некоторое время. Переписать правила могут быть применены на разных уровнях в иерархии каталогов, вызвав правило иметь различные эффекты в зависимости от того, где в иерархии каталогов правило расположено (я полагаю, что это вносит изменение в локальный web.config, когда правило создается, но я не не торопился для подтверждения этого). Это также означает, что Вы не видите набор правил в других каталогах при изменении правил в другом каталоге.

Выбор корневого каталога для переписывания важен, потому что Вы хотите перенаправить все URL субдомена к URL подкаталога (кроме, уже направленных к подкаталогу).

Выбирание корневого каталога сайта, дважды щелкает по URL, переписывают, для ввода области перезаписи. Затем нажмите Add Rule и создайте Пустое Правило.

Для соответствия

Использование шаблона: ^(?!serverone/)(.*) и набор

Требуемый URL: к 'Соответствиям шаблон', и

Использование для регулярных выражений.

Это направит любой URL через это правило, игнорируя тех, которые уже направляются к корректному субдомену, но мы хотим ограничить переписывание в маршрутизации материала, который не имеет субдомена в URL, поэтому затем мы добавим условие.

Только требуется одно условие, с помощью {HTTP_HOST} для входа и шаблона для него: s1.site.com

Наконец для Действия, Вам нужен 'Тип Действия' 'Rewrite', который добавляет значение строки запроса.

Переписать URL должен быть: serverone/{R:0}.

2
ответ дан 3 December 2019 в 05:36

Я не уверен, как дисконтная панель управления aps.net работает, но если бы Вы делали это непосредственно в IIS, то необходимо создать отдельный сайт для каждого приложения, не обязательно каждого субдомена, если существует больше чем один субдомен на приложение, то настроен это с привязкой для каждого URL субдоменов. Корень каждого сайта затем был бы Вашей папкой приложений. Вы не можете только использовать подпапку основного сайта, поскольку Вы не можете добавить привязку к папке.

С другой стороны, можно использовать URL, Переписывают для Перезаписи запроса на site.com/serverone на s1.site.com

4
ответ дан 3 December 2019 в 05:36
  • 1
    Отдельным ' site' сделайте Вы имеете в виду отдельный ' application'? у меня только есть доступ к одному ' site' но мне нравится направлять субдомены к различным подкаталогам приложения на этом ' site'. –  Mark Rogers 24 March 2010 в 17:22
  • 2
    Хорошо я имею в виду отдельный сайт в IIS, поэтому если у Вас только будет один сайт в IIS, то затем необходимо будет посмотреть на использование URL, Переписывают –  Sam Cogan 24 March 2010 в 17:23
  • 3
    Могли Вы дать URL переписываете пример правила для s1.site.com-> site.com/serverone/? Вы сделали бы мою жизнь намного легче... I' ll просят, если Вам нравится :) –  Mark Rogers 24 March 2010 в 17:23
  • 4
    Смотрите на эту статью learn.iis.net/page.aspx/468/… –  Sam Cogan 24 March 2010 в 17:30

Теги

Похожие вопросы