0

Url Rewriter を使用して Web アプリで使いやすい URL を作成し、次のルールを設定しています

<rewrite url="/(?!Default.aspx).+" to="/letterchain.aspx?ppc=$1"/>

URL の最後の部分になるように $1 を置き換えるにはどうすればよいですか?

そのため、次の

www.mywebapp.com/hello

に変換します

/letterchain.aspx?ppc=こんにちは

ドキュメントを読みましたが、何も見つかりません。

4

2 に答える 2

1

グループの部分の $1 はto、最初に定義されたキャプチャ グループを参照します (たとえば、括弧内の部分)。

$1 に実際に挿入したい部分は、キャプチャ グループにない .+ です。

よくわかりませんが、(?!)「サフィックスが存在しない場合に一致する」クエリのために、これは番号付きキャプチャ グループ $1 としてカウントされないため、これは機能するはずです。

<rewrite url="/(?!Default.aspx)(.+)" to="/letterchain.aspx?ppc=$1"/>

そうでない場合は、代わりに 2 番目のキャプチャ グループを to 文字列に挿入してみてください。

<rewrite url="/(?!Default.aspx)(.+)" to="/letterchain.aspx?ppc=$2"/>
于 2010-12-04T00:58:44.453 に答える
0

IIS 7+ 向けに開発している場合、 http: //www.iis.net/download/urlrewrite/は Microsoft のモジュールであり、より少ないフットプリントでより高速な書き換えを実行します。

ところで、正規表現には小さな問題があります。ドット文字をエスケープする必要があります。つまり、「/(?!Default.aspx)(.+)」です。

于 2010-12-06T04:20:31.843 に答える