У меня есть правила перезаписи URL-адресов, которые перенаправляют www.domain2.com в подпапку в корне domain1.com (назовем эту папку подпроектом). В моем контроллере мне нужно создать URL-адрес исходного немодифицированного пути, но свойства Request.Url (например, AbsoluteUri или LocalPath) всегда содержат подпапку подпроекта.
Другими словами, если пользователь набрал:
www.domain2.com/controller/action
urlrewrite делает это:
www.domain1.com/subproject/controller/action
и я хочу восстановить исходный URL:
www.domain2.com/controller/action
Я мог бы жестко закодировать удаление подпроекта из URL и начать URL с домена 2, но мне нужен общий фрагмент кода, потому что это реконструкция URL будет в многоразовая библиотека. domain2 может быть в настройках моего приложения, но как насчет подпапки?
Для справки, вот правило перезаписи:
<rewrite>
<rules>
<rule name="Redirect to subproject">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(www.)?domain2.com" />
<add input="{PATH_INFO}" pattern="^/subproject/" negate="true" />
</conditions>
<action type="Rewrite" url="\subproject\{R:0}" />
</rule>
</rules>
</rewrite>
Спасибо