2016-02-03 4 views
0

Я хотел бы заменить любое упоминание слова в URL, чтобы стать чем-то еще:Заменить слово в web.config URL Rewrite

, например, следующее:

"something/abc/342", "abc/hithere/something/2"

бы переписать:

"REPLACED/abc/342", "abc/hithere/REPLACED/2"

Я не полностью уверены, как это работает, но это может выглядеть примерно так:

<rewrite> 
    <rules> 
     <rule name="Rewrite something to REPLACED"> 
      <match url="^/(something)/gi" /> 
      <action type="Rewrite" url="{putbackinanything}REPLACED{putbackinanything}" /> 
     </rule> 
    </rules> 
</rewrite> 

ответ

2

Вы можете использовать {R: X}, где X это число матч-части, которую вы хотите поместить туда.

<match url="(.*)(something)(.*)" /> 
    <action type="Rewrite" url="{R:1}REPLACED{R:3}" /> 

У вас есть три группы: часть перед "что-то" ({R: 1}), "что-то" само по себе ({R: 2}) и часть за "что-то" ({R: 3}).

СОВЕТ: Если вы используете IIS пользовательского интерфейса диспетчера вы можете легко проверить и точно настроить вашу картину и увидеть, R: X дает, что:

enter image description here

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