Я рассматриваю использование модуля перезаписи IIS 2.0 для перенаправления некоторых сломанных ссылок на приложения.перенаправить подпапку на поддомен/подпапку с использованием URL-адреса IIS Rewrite
Раньше www.mydomain.com был нашим корпоративным сайтом, а www.mydomain.com/application1, www.mydomain.com/application2 были другими приложениями, которые использовали наши клиенты. Все они были на одном сервере.
Теперь мы обновляем наш корпоративный сайт и перемещаемся на другой сервер. Поэтому www.mydomain.com и mydomain.com разрешают использовать другой сервер. В рамках этой работы был создан субдомен app.mydomain.com для размещения клиентских приложений, которые все еще находятся на нашем сервере.
Что я хочу сделать, это установить модуль перезаписи на сервер нового корпоративного сайта и перенаправить www.mydomain/application1 или mydomain.com/application1 в app.mydomain.com/application1.
У меня есть список приложений, поэтому, возможно, использование rewriteMap - это путь? Это предотвратило бы неправильное перенаправление любых перенаправлений, таких как www.mydomain.com/newcorporateurl. Мне также нужно сохранить вложенные папки и запросы (из-за людей, имеющих закладки в браузере), например, www.mydomain.com/application1/index.aspx?id=1 нужно перейти на app.mydomain.com/application1/index.aspx?id= 1
Любая помощь, связанная с этим, была бы замечательной! Даже просто сортировка базовой конфигурации, поэтому я могу играть с ней и понять ее немного больше. Я просматривал другие вопросы и ресурсы, но я до сих пор изо всех сил, как поставить это вместе
Обновление 1
Ниже не работает, но, надеюсь, это показывает, что я пытаюсь сделать. У меня около 15 или приложений, которые мне нужно перенаправить таким образом.
<rewrite>
<rules>
<rule name="application1 rule" stopProcessing="true">
<match url="(www\.)?mydomain\.com(:80)?/application1/?" />
<action type="Redirect" url="app.mydomain.com/application1/" appendQueryString="false" />
</rule>
<rule name="application2 rule" stopProcessing="true">
<match url="(www\.)?mydomain\.com(:80)?/application2/?" />
<action type="Redirect" url="app.mydomain.com/application2/" appendQueryString="false" />
</rule>
</rules>
</rewrite>
Update 2
Я эту работу до такой степени
<rewrite>
<rules>
<clear />
<rule name="application1 rule" stopProcessing="true">
<match url="application1(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="mydomain.com" />
</conditions>
<action type="Redirect" url="http://app.mydomain.com/application1{R:1}" />
</rule>
</rules>
</rewrite>
Это будет перенаправлять
www.mydomain.com/application1 -> app.mydomain.com/application1 www.mydomain.com/application1/index.aspx -> app.mydomain.com/application1/index.aspx
Проблема, которую я хочу решить сейчас, это.
Новый сайт www.mydomain.com является CMS. С приведенным выше правилом это означает, что CMS не может содержать «application1» вообще в URI.
Реальный мир пример 'коммерческий'
Может кто-то пожалуйста, помогите рафинирования мое правило так верно следующее
www.mydomain.com/commercial -> app.mydomain.com/commercial WWW. mydomain.com/commercial/foo/index.aspx -> app.mydomain.com/foo/index.aspx
www.mydomain.com/tv-commercials/list -> www.mydomain.com/tv-commercials/list www.mydomain.com/commercial-property/list -> www.mydomain.com/коммерческая недвижимость/список
Сколько у вас приложений? Любой шаблон здесь? (например, начиная с 'app'). Вы что-то пробовали? – cheesemacfly
@cheesemacfly Я обновил вопрос с моей отправной точкой. Это не работает, но, надеюсь, демонстрирует, чего я пытаюсь достичь. –