1

私はこのようなURLを持っていて、それを次のwww.mydomain.com/brands/bnameように書き換えたいwww.mydomain.com/bname

<add name="301_bname" redirectMode="Permanent" redirect="Domain" ignoreCase="true"
        rewriteUrlParameter="IncludeQueryStringForRewrite"
        virtualUrl="http://(?:www.)??mydomain.com/brands/bname`"
        destinationUrl="www.mydomain.com/bname`" />

しかし、問題は、これがハードコーディングした場合にのみ機能することbnameです。私の場合、この bname は動的です..これを克服するために何ができますか? 注:私は URL 書き換えのケースに慣れていないので、現在のコードに間違いが見つかった場合は、いつでも指摘できます..

4

2 に答える 2

1

試す:

<add name="301_bname" redirectMode="Permanent" ignoreCase="true"
rewriteUrlParameter="IncludeQueryStringForRewrite" virtualUrl="^~/brands/(.*)"
destinationUrl="~/$1" />

パラメータはvirtualUrl正規表現を使用して受信 URL と一致させます。その後、表記法を使用し$1てパターンをdestinationUrlパラメーターに渡すことができます。

両方の URL が同じドメイン上にあり、(おそらく) Web アプリケーション内にあるため、この部分は必要なく、redirect="Domain"相対 URL パスを使用できます。

于 2013-08-13T08:31:45.867 に答える