hogehoge.jp
hoge-hoge.jp
hogehoge.com
などです。
コンテンツは全く一緒で、エイリアス機能を使って同じコンテンツを表示させております(サーバーはさくらサーバーです)。
したがって、3つのドメインが全て同一フォルダを参照している状態です。
これをどのドメインにアクセスしてもhogehoge.jpにしたいと思っております。
例)
http://www.apple.co.jp/ipodtouch/itunes.html(アクセスすると下のurlにリダイレクト)
http://www.apple.com/jp/ipodtouch/itunes.html
htaccessに301でいちいち1ページ毎に記述せず、リダイレクトする方法はございますでしょうか。
上記のアップルのサイトが理想です。
以上、よろしくお願いいたします。
mod_rewriteを使うのがよいのではないでしょうか?
hoge-hoge.jpのドキュメントルートの.htaccessに次のように書いておくと、
RewriteEngine on RewriteRule ^(.*)$ http://hogehoge.jp/$1 [R=301,L]
http://hoge-hoge.jp/foo/bar.html は http://hogehoge.jp/foo/bar.html に301(Moved Permanently)でリダイレクトされます。
SEO的なことを言うと細かいことは、判断しかねるので、詳しくはmod_rewriteのマニュアルなどを参考にしてください。
公式のドキュメント(英語)
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
日本語では、以下のサイトがGoogleでトップに来ますが、一通り分かるのではないでしょうか?
http://tech.bayashi.net/svr/doc/apache/mod_rewrite.html
何かの参考になれば。
.htaccessでパターンマッチによるリダイレクトをすれば出来ます。
しかし、別ドメインで同一のコンテンツを公開するのはSEO的に得策ではありません。
数年前でしたら、有効な手法だったんですが、現在では、フィッシングサイトの検出など、重複コンテンツは、すぐに発見されます。
そして、発見されると、最有効なドメイン以外は、インデックスされなかったり、全てのドメインが一定のマイナス評価を受けるようなフィルタリング機能が搭載されているようです。
回答ありがとうございます。
>.htaccessでパターンマッチによるリダイレクトをすれば出来ます。
→パターンマッチングについて参考サイトなどありますでしょうか。
>しかし、別ドメインで同一のコンテンツを公開するのはSEO的に得策ではありません。
→実はそれを懸念して、リダイレクトをかけて、一つのドメインにしたいと思っている次第です。
ドメイン取得の都合上、本当に欲しかったドメインが後になってとれたのです。
それまでに取っていたドメインが既にインデックスされてしまいました。
今回は、そのドメインを一つにしたいと思い、方法を探しておりました。
mod_rewriteを使うのがよいのではないでしょうか?
hoge-hoge.jpのドキュメントルートの.htaccessに次のように書いておくと、
RewriteEngine on RewriteRule ^(.*)$ http://hogehoge.jp/$1 [R=301,L]
http://hoge-hoge.jp/foo/bar.html は http://hogehoge.jp/foo/bar.html に301(Moved Permanently)でリダイレクトされます。
SEO的なことを言うと細かいことは、判断しかねるので、詳しくはmod_rewriteのマニュアルなどを参考にしてください。
公式のドキュメント(英語)
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
日本語では、以下のサイトがGoogleでトップに来ますが、一通り分かるのではないでしょうか?
http://tech.bayashi.net/svr/doc/apache/mod_rewrite.html
何かの参考になれば。
回答ありがとうございます。
上記試してみたのですが、転送がループしてしまいます。
転送前と転送後のフォルダが同じ為です。
転送前と転送後では、フォルダは分けるしか無いのでしょうか。
その後、フォルダを分けてみたところ、理想の形にすることが出来ました。
ありがとうございました。
ありがとうございます。参考にさせていただきます。
元々、同じフォルダを参照しているドメインの統一とのことですので、
Redirect permanent(Redirect 301)で転送するとよいでしょう。
Redirect permanent / http://www.example.com/
参考:
http://httpd.apache.org/docs/2.2/ja/mod/mod_alias.html#redirect
http://www.kanaya440.com/contents/tips/html/005.html
ご利用のサーバでmod_rewriteが有効になっていれば、
RewriteEngine On
RewriteRule (.*) http://www.example.com/$1 [R=301]
のようにRewriteRuleで転送することもできますが、
ご質問のように同じ階層構造のサイト同士ならRedirect permanentで十分だと思います。
サーバの設定によってうまく動作しない場合がありますので、
実際のサイトに転送をかけるまえに、テスト用のディレクトリにダミーのファイルを置いて
転送できるかどうか試してみた方がいいかもしれません。
また、設定した後に次のようなサイトを利用して、本当にステータス301で転送されているかどうかを
確認した方がいいと思います。
302とかになっているとペナルティを喰らう可能性がありますので。。。
hoge-hoge.jp, hogehoge.com のルートが割り当てられているパスに、以下の .htaccess を設置してください。
Redirect permanent ルートパス名 http://hogehoge.jp/
これで、hogehoge.jp へ 301 ジャンプします。
参考になりました。
ありがとうございます。
回答ありがとうございます。
上記試してみたのですが、転送がループしてしまいます。
転送前と転送後のフォルダが同じ為です。
転送前と転送後では、フォルダは分けるしか無いのでしょうか。
その後、フォルダを分けてみたところ、理想の形にすることが出来ました。
ありがとうございました。