1

domain.net から www.domain.net にリダイレクトしようとしています。ただし、IIS 404 エラー ページしか表示されません。

私のWeb構成は次のようになります。しかし、http エラー宣言も無視され、指定したファイルではなく、IIS の 404 ページが表示されます。

<system.webServer>
  <httpErrors errorMode="Custom" defaultPath="/404.html" defaultResponseMode="Redirect" existingResponse="Replace"/>
  <rewrite>
      <rules>
          <rule name="Redirect to WWW" stopProcessing="true">
              <match url=".*" />
              <conditions>
                  <add input="{HTTP_HOST}" pattern="^mylifelessons.net$" />
              </conditions>
              <action type="Redirect" url="http://www.mylifelessons.net/{R:0}"
              redirectType="Permanent" />
          </rule>
      </rules>
  </rewrite>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
  <remove name="UrlRoutingModule" />
  <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" preCondition="managedHandler" />
</modules>
<handlers>
  <add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>

4

1 に答える 1

0

domain.netからwww.domain.netへのリダイレクトは、レジストラのドメイン設定ではるかに簡単に処理されます。wwwをAzure DNSにポイントし、ルートドメインをwwwに転送します。

リライトルールの使用を主張する場合は、IIS URLリライトモジュールを使用して、コノニカルリライトルールの作成に役立ててください。web.configへの出力は次のようになります。

        <rewrite>
        <rules>
            <rule name="CanonicalHostNameRule1">
                <match url="(.*)" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="^www\.test\.com$" negate="true" />
                </conditions>
                <action type="Redirect" url="http://www.test.com/{R:1}" />
            </rule>
        </rules>
    </rewrite>
于 2012-12-07T05:41:28.000 に答える