2

以下に示すように、MyWebSite と MyApp があります。

MyWebSite
   web.config

   MyApp
      web.config
      Pages
         page.aspx

次の URL が機能することを望みます: www.mywebsite.com/oldpage.aspx

  1. MyWebSite\web.config を URL 'MyApp' に追加します: www.mywebsite.com/ MyApp /page.aspx
  2. MyApp\web.config を URL 'Pages' に追加します: www.mywebsite.com/MyApp/ Pages /page.aspx

このロジックを 2 つのルールに分けたいのは、各ルールがその部分を担当するようにするためです。MyWebSite は、指定されていない場合、デフォルトのアプリケーションを決定する必要があり、MyApp の「ページ」について何も認識しない必要があります。

問題は、MyApp のルールが呼び出されないことです。

質問:私は何か間違ったことをしていますか?これは、別の構成ファイルで書き換えを実行できないという制限ですか?

同じアプリ プールで実行されている PS MyWebSite と MyApp。


MyWebSite web.config:

<rule name="Add 'MyWebSite' for ASPX pages">
    <match url="^([^/]+\.aspx)" />
    <action type="Rewrite" url="MyApp/{R:1}" />
</rule>

MyApp web.config

<rule name="Add 'Pages'">
    <match url=".*" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
         <add input="{URL}" pattern="Pages" negate="true" />
    </conditions>
    <action type="Rewrite" url="Pages/{R:0}" appendQueryString="true" />
</rule>
4

1 に答える 1