0

最近、IIS7+ URL リライターを発見し、それを使用してパターン マッチを使用してリクエストをリダイレクトしようとしています。

古いバージョンのパスに対するすべての要求を最新のリリース パスにリダイレクトしたいと考えています。バージョンは Web サイトのパスに追加され、次のようにリリースごとに増分されます。

Website1RC1 --> Website2 --> ... to Website22RC15

上記のパスの各部分:

Website = Fixed
1-100 = Always there
RC = Optional
1-100 = Optional

最新バージョンが既知であり、バージョンが増分であることを知っている場合、すべての古いバージョンに一致する単一の正規表現を持つ方法はありますか? もちろん避けたいのは、最新バージョンに一致する式です。そうしないと、無限のリダイレクトになります。

4

1 に答える 1

0

私が知っているこのようなことを行う唯一の方法は、グループ化メカニズムを使用することです。この場合、最新のものをリテラル一致で明示的に一致させ、他のものを一般式で一致させます。次に、次のように、一般的な一致のコンテキストを確認します

^(?:(Website22RC15)|(Website1?\d{1,2}(?:RC)?1?\d{1,2}))$

否定的な「先読み」および「後読み」機能を使用する方法があるのではないかと思いましたが、それは、興味のあるものの前後に別の文字列を一致させる場合にのみ機能するようです.

ところで、RC が存在する場合、通常は 2 つの整数を区別する方法がないことに注意してください。

于 2013-06-26T12:49:37.500 に答える