[解決済み] IIS URL Rewrite {R:N}の明確化
質問
R:N}の目的がよくわかりません。どなたか、どのような場合に
{R:0}
vs.
{R:1}
の使用例です。
<action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" />
ScottGuが{R:1}を使用しているのを見たことがあります。
一方、下は{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} には一致した文字列が含まれることに注意してください。
どのように解決するのですか?
ドキュメントにある通りです。
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
注意
Wildcard"パターン構文が使用される場合、後方参照は常にパターン内でアスタリスク記号(*)が使用されたときに作成され、quot? アスタリスク記号 (*) がパターン内で使用されている場合、後方参照が常に作成されます。いいえ がパターン内で使用された場合、後方参照は作成されません。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン