Перезапись URL-адреса IIS — шаблон соответствия

#iis #url-rewriting

#iis #url-перезапись

Вопрос:

Я пытаюсь переписать путь folder1/folder2/folder3... к d

 efault.aspx?id=folder1/folder2/folder3
(default.aspx?id={R:1}/")
  

В настоящее время у меня есть следующий шаблон: ^([^/] /?[^/] /?[^/] /?[^/] )/$ который хорошо работает с 4-уровневой структурой папок. Однако, поскольку количество папок должно меняться, мне интересно, существует ли шаблон, который не ограничивает меня «жестким кодом» для нескольких папок в URL.
Спасибо

Ответ №1:

Вероятно, это не совсем то, что вы ищете, но на основе вашего примера будет работать…

 <rule name="ExampleRule" stopProcessing="true">
  <match url="^. $" />
  <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
  </conditions>
  <action type="Redirect" url="/default.aspx?id={R:1}" />
</rule>