2016-11-06 10 views
0

私は複数のドメインのWebサイトを持っていて、それらに異なるrobots.txtを持たせたい これはドメイン要求に応じて異なるロボットを返すルールがあります。これはベータ版のスロットですが、実動スロットにデプロイした後は動作しません。IIS書き換えルールがAzureプロダクションで動作していません

<rule name="robots" patternSyntax="ECMAScript" stopProcessing="true"> 
      <match url="(.*)" /> 
      <conditions logicalGrouping="MatchAny"> 
      <add input="{REQUEST_URI}" pattern="^robots.txt" /> 
      </conditions> 
      <action type="Rewrite" url="https://{HTTP_HOST}/{HTTP_HOST}.robots.txt" /> 
     </rule> 

私はウェブブラウザは、多くのリダイレクトにして立ち往生してリダイレクトしているので、動作しているようですリダイレクトするアクションタイプを変更していた場合(意味をなさない。)

答えて

2

url-rewrite-module-configuration-referenceは、サーバー変数REQUEST_URIができることを述べたようにクエリ文字列を含む要求されたURLパス全体にアクセスするために使用されます。 robots.txtのURLがhttps://<your-hostname-and-port>/robots.txtであると仮定すると、文字列/robots.txtREQUEST_URIを介して入力として取得されます。上記のルールに

<rewrite> 
    <rules> 
    <rule name="robots" patternSyntax="ECMAScript" stopProcessing="true"> 
     <match url="(.*)" ignoreCase="true"/> 
     <conditions logicalGrouping="MatchAny"> 
     <add input="{REQUEST_URI}" pattern="^/robots.txt" /> 
     </conditions> 
     <action type="Rewrite" url="{HTTP_HOST}.robots.txt"/> 
    </rule> 
    </rules> 
</rewrite> 

、私は私のURLを書き換えると次のような結果を得ることができます:

をリダイレクトするために書き換えからルールのアクションの種類を変更し、私は次のような結果を得ることができます:

+0

それは:)私は数日間、それに苦労したが、このように常に愚かなシンプルなものだったのthats –

関連する問題