94

{R:N} の目的を理解できませんでした。いつ
{R:0}対を使用するかを明確にしてください。{R:1}

使用例:

<action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" />

ScottGu が {R:1} を使用しているのを見たことがあります

http://weblogs.asp.net/scottgu/archive/2010/04/20/tip-trick-fix-common-seo-problems-using-the-url-rewrite-extension.aspx

一方、以下には {R:0} があります

http://weblogs.asp.net/owscott/archive/2009/11/27/iis-url-rewrite-rewriting-non-www-to-www.aspx

以下のIISリンクを見ましたが、以下の定義を完全に理解できませんでした:

条件パターンへの後方参照は、{C:N} によって識別されます。ここで、N は 0 から 9 です。ルール パターンへの後方参照は {R:N} で識別されます。ここで、N は 0 から 9 です。どちらのタイプの後方参照でも、{R:0} と {C:0} に一致する文字列が含まれることに注意してください。

4

1 に答える 1

111

ドキュメントに従って:

ECMAScript パターン構文が使用される場合、後方参照をキャプチャする必要があるパターンの部分を括弧で囲むことにより、後方参照を作成できます。

したがって、ドキュメントで次の例を取り上げます。

^(www\.)(.*)$

www.foo.comそして、条件で入力文字列を使用すると、次のようになります。

{C:0} - www.foo.com
{C:1} - www.
{C:2} - foo.com

簡単にするには:

  • {R:x}ルール パターン ( <match url="...">) からの後方参照として使用されます。
  • {C:x}条件パターンからの後方参照として使用されます ( <conditions><add input="{HTTP_HOST}" pattern="..."></conditions>)
  • 参照には0入力文字列全体が含まれます
  • 1参照には、最初の括弧内のパターンに一致する文字列の最初の部分が含まれ、()参照に2は 2 番目の部分が含まれます...参照番号まで9

ノート:

「ワイルドカード」パターン構文を使用する場合、パターンでアスタリスク記号 (*) を使用すると、常に後方参照が作成されます。"?" の場合、後方参照は作成されません。パターンで使用されます。

http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference#Using_back-references_in_rewrite_rules

于 2013-06-09T14:53:12.303 に答える