У меня есть правила перезаписи 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-адрес с domain2, но мне нужен общий кусок кода, потому что эта реконструкция 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>
Спасибо