IIS Rewrite模块,简单规则

IIS Rewrite模块,简单规则

我被一个非常简单的 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",但没有任何变化。

这些链接指向一个实时网站,请随意点击。感谢您的任何建议,我确信我遗漏了一些小细节,我可能会因此而撞到桌子上。

相关内容