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

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

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

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


person Horge    schedule 26.04.2011    source источник


Ответы (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>
person James Law    schedule 07.08.2012