0

UrlRewriteプラグインの<rewrite>ルールをしばらく使用していませんでしたが、これはを夢中にさせています...

私が達成しようとしているのは、次の場所に移動するユーザーをリダイレクトすることです。

http://portals.presentkorttorget.se/GetRelationPdf.ashx?relationId=904

それらを送る

http://www.presentkorttorget.se/GetRelationPdf.ashx?relationId=904

portals への変更 のみでwww、.NET でリダイレクトを作成し、サイト全体を再度コンパイルして公開することを避けようとしていました。

私が試したことは次のとおりです。

<rewrite>
    <rule name="PDF redirect to parent shop" patternSyntax="ECMAScript" stopProcessing="true">
      <match url="portals\.(([a-z]+)\.([a-z]+))$/GetRelationPdf\.ashx\?$" />
      <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
      <action type="Redirect" url="http://www.{R:1}/GetRelationPdf.ashx?{R:2}" />
    </rule>
</rewrite>

http://www.gskinner.com/RegExr/を使用してテストした正規表現からのいくつかのバリアントと同様に

4

1 に答える 1

0

やりたいようにサブドメインにリダイレクトするには、条件を使用する必要があります。

<rule name="PDF redirect to parent shop" patternSyntax="ECMAScript" stopProcessing="true">
  <match url="^GetRelationPdf\.ashx$" />
  <conditions>
        <add input="{HTTP_HOST}" pattern="portals\.(([a-z]+)\.([a-z]+))$" />
    </conditions>
  <action type="Redirect" url="http://www.{C:1}/GetRelationPdf.ashx" />
</rule>

このルールは、 が で始まり、少なくとも 1 文字の で区切られた 2 つのグループを含むことを確認HTTP_HOSTしますportals.。要求されたパスが(大文字と小文字を区別しない) であることも確認します。.
GetRelationPdf.ashx

リダイレクトでは、後方参照は を使用{C:1}し、条件から情報を取得し、クエリ文字列はリダイレクトがトリガーされたときにデフォルトで追加されます。

于 2013-08-20T16:42:57.173 に答える