2009-05-21 8 views

答えて

0

にリダイレクトしています。.. .imo。

wwwを使わずにサーバーに接続すると、正しいURLにリダイレクトするだけです。

+0

やアンドリューは、CNAME – northpole

+0

A CNAMEが唯一の別名である、それは「他の」URLへのリダイレクトをしない使用して、前述のように。 http://example.com/で入力すると、CNAMEまたはAの設定を使用しているときにhttp://www.example.com/にリダイレクトされません。 –

+0

たとえば、Apacheでは、着信要求をリダイレクトするserverAliasを設定できます。 CNAMEは、使用するサーバーIPを指定します。serverAliasは、トラフィックを正しく送信します。 – northpole

-3

これは、ドメインを管理するDNSサーバー上のAレコード(またはCNAMEレコード)を使用して処理するのが最適です。これをコードで処理することはできますが、実際には適切な場所ではありません。

+0

AとCNAMEレコードは別のドメインにリダイレクトできません。彼らはドメインのIPアドレスが何であるかだけ言うことができます。 CNAMEは、別のドメインと同じIPアドレスを使用するように指示します。 –

+0

AレコードまたはCNAMEを使用すると、ユーザーは両方のドメインからサイトにアクセスできますが、2つの異なるURLに同じコンテンツがあるため、SEOページランクが減少します。これを処理する最善の方法は、example.comのリクエストをwww.example.comのURLにリダイレクトして、一貫性を維持することです。コードでこれを行う1つの方法については、この質問への私の答えを見てください。 –

2

これに対処する最も一般的な方法は、URLが期待どおりでない場合にリダイレクトを行うことです。通常、これはmod_rewriteモジュールを使って行われます。

ASP.NET MVCでは、要求ライフサイクルの早い段階で着信要求をキャッチし、URLをチェックして、必要に応じて正しいURLにリダイレクトします(レスポンスコード301または302)。

このブログ記事のサンプルコードは、Canonical urls With ASP.NET MVCです。これは、これを達成する1つの方法を示しています。ここでは、モノとApacheで物事をやったりIISへのmod_rewriteの拡張子のいずれかを使用して、これらの私たちのために

protected void Application_BeginRequest(Object sender, EventArgs e) 
{ 
    if (Request.Url.Authority.StartsWith("www")) 
     return; 

    string url = (Request.Url.Scheme 
     + "://www." 
     + HttpContext.Current.Request.Url.Authority 
     + HttpContext.Current.Request.Url.AbsolutePath 
    ); 

    Response.Clear(); 
    Response.Status = "301 Moved Permanently"; 
    Response.AddHeader("Location", url); 
    Response.End(); 
} 

はmod_rewriteの例です:

これらに続いて
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^example.com$ [NC] 
RewriteRule ^(.*)$ http://www.example.com$1 [R=301,L] 

AレコードやCNAMEを使用すると、ユーザーは両方のドメインからサイトにアクセスできますが、Google JuiceのURLはと異なるというURLで同じコンテンツになるため、減らすことができます。

+0

しかし、Google Webマスターツールでサイトをログに記録すると、どのドメインが優先ドメインであるかを知ることができ、そこにリンクすることができます。 – ChrisF

2

Microsoft IIS URL書き換えモジュールを使用している場合、web.configの次のエントリはドメインの整合性を維持します。

<rewrite> 
      <rules> 
       <rule name="Consistent Domain" stopProcessing="true"> 
        <match url="^(.*)$" ignoreCase="false" /> 
        <conditions> 
         <add input="{HTTP_HOST}" pattern="^mediapopinc.com$" /> 
        </conditions> 
        <action type="Redirect" redirectType="Permanent" url="http://www.mediapopinc.com/{R:1}" /> 
       </rule> 
      </rules> 
     </rewrite> 
+0

私はIIS URL書き換えモジュールとそれを使用しています。WebApp iself内のネットルーティング機能どの場所からリダイレクトするのが良いでしょうか?または(3番目のオプション)私はちょうど両方に応答し、URLリライトモジュールでリバースプロキシを使用して両方のURLを維持する必要がありますか? ...その最後の3番目のオプションは、私は思うだろうSEOには理想的ではありません。 – johntrepreneur

関連する問題