Перезапись поддоменов в IIS

У меня возникли проблемы с переписыванием некоторых вещей в IIS

Вот чего я пытаюсь достичь.

У нас есть куча клиентов, которым нужен субдомен. Например

http://clientA.mysite.com необходимо переписать на http://mysite.com/clientArea/?clientID=1234

Затем весь контент необходимо переписать на http://mysite.com/clientArea/XXX.

например, если кто-то запрашивает http://clientA.mysite.com/example.css , следует переписать на http://mysite.com/clientArea/example.css

Я не могу на всю жизнь заставить это работать правильно.

Я думаю, что я должен сделать это в 2 правила. Я думаю, что у меня есть первое правило, работающее (страница выглядит ненормально, потому что она не может получить файлы JS или файлы CSS, чтобы она выглядела правильно)

Вот мое первое правило переписать http://clientA.mysite.com на http://mysite.com/clientArea/?clientID=1234

<rule name="Rewrite Subdomain" stopProcessing="true">
     <match url="()" />
     <conditions>
         <add input="{HTTP_HOST}" pattern="^(?!www)clientA\.mysite\.com$" />
     </conditions>
     <action type="Rewrite" url="clientArea/?clientID=1234" appendQueryString="true" logRewrittenUrl="true" />
 </rule>

Мое второе правило, однако, я не могу приступить к работе, поэтому любая помощь с этим была бы отличной.

<rule name="Rewrite Everything Else after subdomain">
    <match url="(.*)" />
    <conditions>
       <add input="{HTTP_HOST}" pattern="^(?!www)clientA\.mysite\.com$" />
    </conditions>
    <action type="Rewrite" url="{R:0}" />
 </rule>

Запрос таких вещей, как http://clientA.mysite.com/example.js, возвращает ошибку 404.

Спасибо за время, Кайл


person Kyle Gobel    schedule 13.10.2011    source источник


Ответы (2)


Если у вас есть выделенный IP-номер для вашего сайта, вы можете добавить пустую привязку http к своему сайту в IIS (щелкните правой кнопкой мыши свой сайт в IIS> Изменить привязки> Добавить). Затем добавьте запись DNS «A» со значением: * в конфигурацию DNS. В результате каждый звонок на ваш IP будет поддерживаться вашим сайтом.

person cryss    schedule 28.01.2013

Вы используете комбинацию правил перезаписи входящих и исходящих запросов вместе с модулем маршрутизации запросов приложений.

Входящее правило проксирует подпапку к содержимому поддомена. Исходящее правило проверяет ответ и заменяет все экземпляры поддомена в ответе вашим путем к подпапке.

person JTtheGeek    schedule 23.05.2012