web-dev-qa-db-ja.com

URLが常にwwwで始まるようにするにはどうすればよいですか?

エイリアスwww.mydomain.comを介して到着した場合でも、ユーザーがmydomain.comに確実にアクセスできるようにしたいと思います。これは、サブドメインのCookieを制御できるようにするためであり、GoogleがURLの寄せ集めではなく、単一のドメインを認識するようにするためです。

どうすればapacheでこれを行うことができますか?

17
Magnar
<VirtualHost ip:80>
   ServerName domain.com
   RedirectMatch permanent ^(.*)$ http://www.domain.com$1
</VirtualHost>

<VirtualHost ip:80>
   ServerName www.domain.com

   ... usual config
</VirtualHost>
17
Dave Cheney

これをhttpd.confファイルに追加します。

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_Host} !^www\.mydomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]
4
Magnar

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>
4
Richard Slater

本当にGoogleに特定のドメインスタイル(wwwの有無にかかわらず)を使用させたい場合は、無料の Googleウェブマスターツール アカウント、ドメインの所有権を確認し(ファイルをアップロード)、オンラインコントロールパネルを使用して 優先ドメイン を設定します。

そのシンプルさ、そしてサーバーサイドコードを変更する必要はありません。また、wwwの有無にかかわらず、インバウンドリンクは同じように扱われ、ページのPageRankが増加します。

リンクは、URLのwwwバージョンと非wwwバージョンの両方を使用してサイトを指す場合があります(たとえば、 http://www.example.com および http://example.com) )。優先ドメインは、検索結果でサイトに使用するバージョンです。

ご希望のドメイン名をお知らせいただくと、URLを表示する際にご希望のドメイン名が考慮されます。この変更がインデックスに完全に反映されるまで、しばらく時間がかかる場合があります。

優先ドメインを指定しない場合、ドメインのwwwバージョンと非wwwバージョンを別々のページへの別々の参照として扱う場合があります。

3
Robinicks

私は反対の問題を抱えていました。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 を参照してください。詳細。

1
Tom