私の会社のお客様でも何件かサブドメインを設定しているお客様がいます。
通常は、サブドメインの部分をwww有で統一するのですが、お客様のご希望により、サブドメインを設定しました。
当初、新規でのホームページの制作だったので、登録作業も弊社で行うので、特段問題は無いだろうと思ってました。
しかし、ここ最近、Googleでの検索結果がおかしくなってしまいました。
Googleの検索結果(2010年2月現在)
キーワード | wwwなし | wwwあり | サブドメインあり |
---|---|---|---|
お客様名(固有名詞) | 1位 | 1位 | 圏外 |
その他キーワード | 6位 | 6位 | 圏外 |
その他キーワード | 18位 | 18位 | 圏外 |
リダイレクトの設定
wwwあり、wwwなし、サブドメインと3つのURLでアクセス出来るので、通常の記述とは、ちょっと違います。
正規表現を使って以下のように記述します
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} (^|^www.)sample.com RewriteRule ^(.*)$ http://sub.sample.com/ [R=301,L]
WADAXの.htaccess(ドット・エイチティー・アクセス)ファイルの記述
WADAXの場合、この設定だと何故か全て、http://sub.sample.com/にリダイレクトされちゃいます。
例えば、このサイトを英語表記で検索します。
すると、以下のような検索結果画面になります。
このサイトは、英語サイトも存在しますので、当然、検索結果をクリックすると、英語ページが表示されなければなりません。
しかし、このままの設定では、日本語ページのトップにリダイレクトされてしまうのです。困りました。
そこで、WADAXに問合せをしたところ、明快な回答を頂きました。流石、WADAX!!これだから好きです♪
以下の記述で、上手く行きました。
RewriteEngine on RewriteCond %{HTTP_HOST} ^(sample.com)(:80)? RewriteRule ^(.*) http://sub.sample.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^(www.sample.com)(:80)? RewriteRule ^(.*) http://sub.sample.com/$1 [R=301,L]
2010/02/04