Iis

IIS URL 重寫不適用於復雜的 URL

  • May 31, 2021

我有 2 個 URL 重定向規則:

   <rewrite>
       <rules>
           <clear />
           <rule name="al - helyek/al (kieg)" enabled="true" stopProcessing="true">
               <match url="^test1/al/(.*)RootFolder=%2Ftest1(.*)" />
               <action type="Redirect" url="helyek/al/{R:1}RootFolder=%2Fhelyek{R:2}" />
           </rule>
           <rule name="al - helyek/al" enabled="true" stopProcessing="true">
               <match url="^test1/al/(.*)" />
               <action type="Redirect" url="helyek/al/{R:1}" />
           </rule>
       </rules>
   </rewrite>

但是第一個不起作用,只有第二個。

測試網址:http://test:29001/test1/al/Shared%20Documents/Forms/AllItems.aspx?RootFolder=%2Ftest1%2Fal%2FShared%20Documents%2Fest&FolderCTID=0x01200077BA4D1F1CDCF3498096871FD748%7D

這是一個 SharePoint 網站集。

可能是什麼問題呢?

預先感謝您的幫助。

我找到了正確的重定向:

<rule name="WEBHELY - helyek/WEBHELY (RootFolder)" stopProcessing="true">
   <match url="^WEBHELY/(.*)" />
   <conditions>
       <add input="{QUERY_STRING}" pattern="(.*)?RootFolder=%2FWEBHELY(.*)" />
   </conditions>
   <action type="Redirect" url="helyek/WEBHELY/{R:1}?RootFolder=%2Fhelyek%2FWEBHELY{C:2}" appendQueryString="false" />
</rule>
<rule name="WEBHELY - helyek/WEBHELY" stopProcessing="true">
   <match url="^WEBHELY/(.*)" />
   <action type="Redirect" url="helyek/WEBHELY/{R:1}" />
</rule>

引用自:https://serverfault.com/questions/1063289