Переписать с локального пути на внешний домен - C # MVC IIS 7.5 URL - PullRequest
0 голосов
/ 13 февраля 2019

У меня проблемы с работой переписывания URL в приложении MVC, так как мне нужно перенаправить все запросы с https://www.thisdomain.com/assets/* на их эквивалент в https://www.thatdomain.com/assets/* например,

<link rel="stylesheet" href="/assets/css/app.css">

загружает ресурсы из https://www.thatdomain.com/assets/css/app.css

В настоящее время я получил это в web.config

<system.webServer>
<rewrite>
    <rules>
    <rule name="Map Assets" stopProcessing="true">
    <match url="assets/(.*)" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^www.otherdomain.com/assets/$" />
    </conditions>
    <action type="Rewrite" url="/{R:1}" appendQueryString="true" />
    </rule>
</rules>
</rewrite>
</system.webServer>

и добавил это в мой RouteConfig.cs

routes.IgnoreRoute("assets/");

Url Rewrite установлен на сервере.

Любая помощь будет с благодарностью.

1 Ответ

0 голосов
/ 13 февраля 2019

Некоторые вопросы: эти "www.thisdomain.com" и "www.otherdomain.com" размещены на одном сервере?Вы уверены, что хотите «Переписать», а не «Перенаправить»?

Я даже не уверен, что можно переписать в другой домен.Вы можете переписать путь или имя ресурса, но домен не имеет особого смысла для меня.Но Redirect можно настроить следующим образом:

<rewrite>
    <rules>
    <rule name="Map Assets" stopProcessing="true">
    <match url="assets/(.*)" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="www.thisdomain.com" />
    </conditions>
    <action type="Redirect" url="www.otherdomain.com/assets/{R:1}" appendQueryString="true" />
    </rule>
</rules>
</rewrite>
...