3

外部構成ファイルを使用して、web.configファイルlocationのルートセクション内に複数の要素を定義しようとしています。<configuration>これは可能ですか?

単一のセクション(例)に対してこれを行う方法を理解していconnectionStringsますが、構成要素内の複数の要素に対してこれを行うことはできますか? <configuration>; configSourceそれ自体は属性を許可しません。ダミー要素を作成してで定義することは可能configSectionsですか?その場合、どのタイプを指定しますか?

背景情報:永続的なリダイレクトを定義できるようにこれを実行したいと思っています。何百ものリダイレクトが存在する可能性があるため、理想的には、web.config自体でこれを定義したくありません。すなわち

<configuration>
  <!-- rest of web.config here -->
  <!-- i need mutiple location elements so want these in an external file-->
  <location path="oldpage">
    <system.webServer>
      <httpRedirect enabled="true" destination="/uk/business" httpResponseStatus="Permanent" />
    </system.webServer>
  </location>
</configuration>
4

2 に答える 2

1

あなたが求めていることをするためにあなたはこれを必要とするでしょう:

<rewrite>
  <rules configSource="rewrites.config" />
</rewrite>

任意のファイル名で十分です。

外部化する要素に属性を設定しconfigSourceます。

于 2012-04-16T12:27:13.857 に答える
1

これについてもう少し詳しく説明したいと思います。CodeMonkey URL Rewriteモジュールでほのめかされているように、リライトモジュールの詳細についてはhttp://www.iis.net/download/URLRewriteを参照してください。

これらは、ルールを定義し、外部ファイルを参照するweb.configに加えた変更です(内system.webServer

<rewrite>
  <rewriteMaps configSource="RewriteMaps.config" />                
  <rules>
      <rule name="Rewrite rule1 for StaticRewrites">
          <match url=".*" />
          <conditions>
              <add input="{StaticRewrites:{REQUEST_URI}}" pattern="(.+)" />
          </conditions>
          <action type="Redirect" url="{C:1}" redirectType="Permanent" appendQueryString="false" />
      </rule>
  </rules>        
</rewrite>

注意:VS XMLスキーマを更新して、うめき声​​を大幅に抑える必要もあります http://ruslany.net/2010/04/visual-studio-xml-intellisense-for-url-rewrite-2-0/ (このブログのコメントを参照してください。vs2010のjsを更新します)

于 2012-04-23T12:24:59.590 に答える