www.mydomain.com
エイリアスを介してユーザーが到着しても、ユーザーが確実にアクセスできるようにしたいと考えていますmydomain.com
。これにより、サブドメインのCookieを制御できるようになり、GoogleがURLの寄せ集めではなく、1つの単一のドメインを認識できるようになりました。
どのようにApacheでこれを行うことができますか?
www.mydomain.com
エイリアスを介してユーザーが到着しても、ユーザーが確実にアクセスできるようにしたいと考えていますmydomain.com
。これにより、サブドメインのCookieを制御できるようになり、GoogleがURLの寄せ集めではなく、1つの単一のドメインを認識できるようになりました。
どのようにApacheでこれを行うことができますか?
回答:
<VirtualHost ip:80>
ServerName domain.com
RedirectMatch permanent ^(.*)$ http://www.domain.com$1
</VirtualHost>
<VirtualHost ip:80>
ServerName www.domain.com
... usual config
</VirtualHost>
mod_rewriteサポートを有効にしてから、ドメインのルートフォルダーに次の内容の.htaccessファイルを作成します。
<IfModule mod_rewrite.c>
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^domain\.com$
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
</IfModule>
.htaccess
ファイルには多くのオーバーヘッドがあり、ファイル内の書き換えによりさらに悪化します。
Googleに(wwwの有無にかかわらず)特定のドメインスタイルを本当に使用する場合は、無料のGoogleウェブマスターツールアカウントを作成し、ドメインの所有権を確認(ファイルをアップロード)し、オンラインコントロールパネルを使用して優先ドメインを設定します。
そのシンプルで、サーバー側のコードを変更する必要はありません。また、wwwの有無にかかわらずインバウンドリンクは同じように扱われ、ページのPageRankが増加します。
リンクは、URLのwwwバージョンとwww以外のバージョン(たとえば、http://www.example.comおよび http://example.com)の両方を使用してサイトを指す場合があります 。優先ドメインは、検索結果でサイトに使用するバージョンです 。
ご希望のドメイン名をお知らせいただくと、URLを表示する際にお客様の設定が考慮されます。この変更がインデックスに完全に反映されるまでには時間がかかる場合があります。
優先ドメインを指定しない場合、ドメインのwwwバージョンとwww以外のバージョンを、個別のページへの個別の参照として扱う場合があります。
domain.comから直接サービスを提供したいときに、www.domain.comにアクセスするという逆の問題がありました。
<VirtualHost *:80>
ServerName domain.com
... usual config
</VirtualHost>
<VirtualHost *:80>
ServerName www.domain.com
ServerAlias sub.domain.com # can also catch some other subdomains
ServerAlias *.domain.com # or all previously unmatched domains
Redirect permanent / http://domain.com/
</VirtualHost>
Greg Hewgillが述べたように、Redirectの使用はRedirectMatchよりも少し簡単で、同じ仕事をします。詳細については、http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirectを参照してください。