2016-09-07 2 views
1

Я пытаюсь заменить «se» на «sv» в URL-адресе, используя URL-адрес перезаписи в iis.IIS заменить часть url

Url выглядеть следующим образом: www.somedomain.com/ себе/baadmarked/Baade

И должен выглядеть следующим образом: www.somedomain.com/ св/baadmarked/Baade

Мои текущее правило выглядит так:

<rule name="se to sv" patternSyntax="ECMAScript" stopProcessing="true"> 
    <match url="(.*)" /> 
    <action type="Redirect" url="{C:1}sv{C:3}" appendQueryString="false" /> 
    <conditions logicalGrouping="MatchAny"> 
     <add input="{HTTP_HOST}{QUERY_STRING}" pattern="(.*)(se)(.*)" /> 
    </conditions> 
</rule> 

Я пробовал много, но ничего не делается.

ответ

1

Похоже, вы хотите использовать функцию перезаписи, а не функцию перенаправления.

Правило должно выглядеть следующим образом:

<rule name="se to sv"> 
    <match url="^(.*)/se/(.*)" /> 
    <action type="Rewrite" url="{R:1}/sv/{R:2}" /> 
</rule> 

Матч нарушает правила на две части. Первая часть - это домены, а вторая часть - все после se.

Действие говорит переписать все эти адреса {R:1} доменная часть, /sv/ затем {R:2} все после se.

Если вы действительно хотите переадресовать, просто измените действие с Rewrite на Redirect. Это не очень понятно.

Вы можете добавить stopProcessing="true" и appendQueryString="false", если вам нужно.

+0

Я пробовал правило, оно не применялось. Возможно, что-то еще не так в моей настройке, потому что я согласен, что правило должно быть таким. Когда я использую встроенный «тестовый шаблон», он также отлично применяет правило. – farnholdt

+0

Как вы установили UrlRewrite? WebPI? У меня также есть проблемы с WebPI, на странице загрузки вы можете загрузить установки x64 или x86. –

Смежные вопросы