IIS 書き換えモジュール、シンプルなルール

IIS 書き換えモジュール、シンプルなルール

非常に単純な IIS 書き換えルールで行き詰まっています。無効なパスを持つ一連のリンクがあり、そのパスへのすべてのリクエストを新しいパスにリダイレクトする必要があります。

壊れたパスは次のとおりです。 https://documentation.buzsoftware.com/buzdocs/BuzClubManager/index.cfm?ID=690

パスの「buzdocs」部分は存在しなくなり、このパスの下にあるすべてのリンクは 1 つ上のフォルダーの次の例のパス (動作します) に移動されました。 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} の両方を使用する (2 番目の例) 場合、どちらが正しい方法かわかりません。ベスト プラクティスに関するコメントがあれば、ぜひ教えてください。

私も<action type="Rewrite" との間を行ったり来たりしてみました<action type="Redirect"が、変化はありませんでした。

これらのリンクはライブサイトへのリンクです。ご自由にクリックしてください。アドバイスをいただければ幸いです。私は何か小さなことを見逃しているに違いありません。おそらくそのことで頭を机にぶつけてしまうでしょう。

関連情報