
我陷入了一個非常簡單的 IIS 重寫規則。我有一系列具有無效路徑的鏈接,我需要將所有對該路徑的請求重定向到新路徑。
這是破損的路徑: https://documentation.buzsoftware.com/buzdocs/BuzClubManager/index.cfm?ID=690
路徑的“buzdocs”部分不再存在,並且該路徑下的所有連結已上移一個資料夾到此範例路徑(有效): https://documentation.buzsoftware.com/BuzClubManager/index.cfm?ID=690
<rule name="buzdocs_path_del" stopProcessing="true">
<match url="(.*)/buzdocs(.*)" />
<action type="Rewrite" url="{R:1}{R:2}" appendQueryString="false" />
</rule>
或者
<rule name="buzdocs_path_del" stopProcessing="true">
<match url="https://documentation.buzsoftware.com/buzdocs(.*)" />
<action type="Rewrite" url="https://documentation.buzsoftware.com/{R:1}" appendQueryString="false" />
</rule>
我一直在嘗試各種正則表達式模式,每次我轉到錯誤的路徑時都會得到 404,並且我沒有被重定向。
我不確定是否需要在模式匹配中使用 ^ (行首)或 $ (行尾),我已經嘗試了兩者,但結果相同。
僅使用 {R:1} (第一個範例)與同時使用 {R:1} 和 {R:2} (第二個範例),不確定哪一種方法是正確的。任何有關最佳實踐的評論都會有所幫助。
<action type="Rewrite"
我也在和之間來回跳動<action type="Redirect"
,沒有任何變化。
這些連結指向一個即時網站,請隨意點擊它們。感謝您的任何建議,我很確定我錯過了一些小東西,我可能會為此把頭撞到桌子上。