Правило перезаписи URL IIS для замены части URL - PullRequest
0 голосов
/ 01 апреля 2019

Я новичок в правиле перезаписи IIS и пытаюсь создать правило для замены части URL

e.g.www.abc.com / активы / глобальный / xyz.jpg

следует перенаправить на www.abc.com ** / en / globalassets / ** assets / global / xyz.jpg

Я возлюсь со следующим правилом, но безуспешно

<rule name="url replace">
<match url="^(.com/assets/global/)" />
<action type="Rewrite" url=".com/en/globalassets/assets/global/{R:2}" />
</rule>

1 Ответ

1 голос
/ 03 апреля 2019

Согласно вашему описанию, я проверил на моей стороне, вы можете использовать правило urlrewite, как показано ниже:

<rule name="rule1" enabled="true" stopProcessing="true">
                    <match url="assets/global/(.*)" />
                    <conditions>
                        <add input="{REQUEST_URI}" pattern="en/globalassets" negate="true" />
                    </conditions>
                    <action type="Redirect" url="http://{domain}/en/globalassets/assets/global/{R:1}" />
                </rule>

Во-первых, мы не могли добавить значение, как **. Com в URL-адресе совпадения, потому чтоэта часть может только поймать путь URL.

Вы можете видеть, что это структура URL:

http(s)://httphost/path?querystring.

Вы можете получить ее только в теге условий, но не в шаблоне.

Затем вы должны добавить условие, чтобы проверитьзапрашивать URL-адрес на соответствие "en / globalassets" или не запускать правило перенаправления раз и снова.

...