1

現在、サブドメイン http://blog.domain.com で wordpress ブログを運営しています。そのサイトは現在、元のサブドメイン サイトを指す http://www.domain.com/blog としてリバース プロキシ経由でも実行されています。

現在、両方のサイトは正常に動作していますが、問題は、サブ ドメイン サイトをリバース プロキシ サイトにリダイレクトし、レンダリングしないようにすることです。サイトを http://www.domain.com/blog としてレンダリングするだけです。サーバー 2008 マシンの IIS 7 で URL 書き換えを使用しようとしています。

私が抱えている問題は正規表現にあると思います。-- ^(blog.)* -- を使用してみました。IIS でテストすると、一致する (blog.domainname.com) が返されますが、ブラウザーで開いたときにサイト自体がリダイレクトされません。何が欠けているのかわかりません。よろしくお願いします。

    <rewrite>
      <rules>
        <rule name="Main Rule" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.php" /></rule>
        <rule name="wordpress" patternSyntax="Wildcard">
          <match url="*" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.php" /> </rule>
        <rule name="redirect to /blog" enabled="false" patternSyntax="ECMAScript" stopProcessing="true">
          <match url="^(blog.)*" />
           <action type="Redirect" url="http:// www.domainname.com/blog" />
           <conditions logicalGrouping="MatchAny">
            <add input="{HTTP_HOST}" pattern="(.*)" />
          </conditions>
        </rule>
      </rules>
    </rewrite>
4

1 に答える 1

0

問題はおそらく、その URL にアクセスしたときに書き換えルールが実行されていないことです。実際にそのサイトにマップされていることを確認してください。

申し訳ありませんが、ルールが有効になっていないことに気付きました:

<rule name="redirect to /blog" enabled="false" patternSyntax="ECMAScript" stopProcessing="true">

enabled 属性を True に変更する必要があります。

于 2013-03-29T20:50:16.040 に答える