0

ホストされたアカウントのルートを指すドメイン名があります。ルート ディレクトリ内には、Web.Config (URL 書き換え専用) と 2 つのアプリケーションの開始点 (/josh と /sudoktion) があります。

私の URL 書き換えルールは、これを行うように構築されています。ユーザーが www.sudoktion.com にアクセスすると /sudoktion に移動し、同様に、ユーザーが josh.sudoktion.com にアクセスすると /josh に移動します。これは完全に機能します。

<rule name="Rewrite1" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www.sudoktion.com$" />
</conditions>
<action type="Rewrite" url="sudoktion/{R:1}" />
</rule>


<rule name="Rewrite9" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^josh.sudoktion.com$" />
</conditions>
<action type="Rewrite" url="josh/{R:1}" />
</rule>

ただし、問題は、ユーザーがwwwを追加せずにsudoktion.comにアクセスした場合です。最初に、ユーザーをルートに連れて行き、ルートの内容を公開します。pattern="sudoktion.com$" を使用して新しいルールを追加し、それを sudoktion/ に書き換えてみましたが、これは機能しますが、パスの問題である josh.sudoktion.com のスタイリングが壊れます。

josh.sukoktion.com から josh/ へのルールを壊さずに、 sudoktion.com/ から sudoktion/ への書き換えルールを追加するにはどうすればよいですか?

4

1 に答える 1

1

最初のルールの条件に次の行を追加します。

<add input="{HTTP_HOST}" pattern="^sudoktion.com$" />

これらの 2 つの ruke のいずれかに一致するようにします。したがって、ルールの XML 全体は次のようになります。

<rule name="Rewrite1" stopProcessing="true">
  <match url="(.*)" />
  <conditions logicalGrouping="MatchAny">
    <add input="{HTTP_HOST}" pattern="^sudoktion.com$" />
    <add input="{HTTP_HOST}" pattern="^www.sudoktion.com$" />
  </conditions>
  <action type="Rewrite" url="sudoktion/{R:1}" />
</rule>
于 2012-06-15T21:51:56.467 に答える