.htaccess 301リダイレクトの正しい書き方を教えてください。


サイトをリニューアルする際に、WordPressを入れました。
新規でwpというフォルダを作り、そこにWordPressをインストールしています。

http://ドメイン.com/へアクセスすると
http://ドメイン.com/wp/へリダイレクトをするようにしたいのですが。
.htaccessはどのように書くべきでしょうか?

また、ドメイン以下には、wp以外のコンテンツも入っており
それらは、静的なサイトとして今で通りに活用したいと考えています。
例: http://ドメイン.com/special/
例: http://ドメイン.com/test/

つまり、http://ドメイン.com/へアクセスすると、http://ドメイン.com/wp/へ飛ばされる。
http://ドメイン.com/special/へアクセスするとそのまま表示されるという仕組みです。

自分で、下記のように.htaccessを記述してみたのですが、
302リダイレクトになってしまい、Googleの検索から消えてしまいました。

RedirectMatch ^/$ http://ドメイン.com/wp/
RedirectMatch ^/index\.html http://ドメイン.com/wp/

検索結果から完全に消えてしまうのは、302リダイレクトが原因かと思われますので正確な記述が知りたいです。
どうぞ宜しくお願いいたします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/08/19 18:44:15
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:windofjuly No.3

回答回数2625ベストアンサー獲得回数1149

ポイント300pt

一例

RedirectMatch 301 ^/$ http://ドメイン.com/wp/

もしくは

RewriteEngine On
RewriteRule ^/$ http://ドメイン.com/wp/ [R=301,L]
他2件のコメントを見る
id:windofjuly

別の例

RedirectMatch 301 ^$ http://ドメイン.com/wp/
RedirectMatch 301 ^/index.html$ http://ドメイン.com/wp/

もしくは

RewriteEngine On
RewriteRule ^$ http://ドメイン.com/wp/ [R=301,L]
RewriteRule ^/index.html$ http://ドメイン.com/wp/ [R=301,L]
2012/08/19 18:35:22
id:jyusi-hyouhon

何度もご回答ありがとうございました。
無事にリダイレクトが成功しました~!

2012/08/19 18:42:49

その他の回答2件)

id:oil999 No.1

回答回数1728ベストアンサー獲得回数320

ポイント50pt
RewriteEngine On
RewriteCond %{http_host} ^ドメイン.com
RewriteRule ^(.*) http://ドメイン.com/wp/$1 [R=301,L]
id:jyusi-hyouhon

回答ありがとうございます。
しかしこちらで.htaccessを書き込んだところ、
「このウェブページにはリダイレクト ループが含まれています。 」と表示されサイトが表示されなくなってしまいました。

2012/08/19 12:39:27
id:gizmo5 No.2

回答回数504ベストアンサー獲得回数141

ポイント50pt

RedirectMatch ^/$ http://ドメイン.com/wp/
RedirectMatch ^/index\.html http://ドメイン.com/wp/

質問で書かれた、上記の書き方を、以下のように変更します。

RedirectMatch ^/$ http://ドメイン.com/wp/ [R=301,L]
RedirectMatch ^/index\.html http://ドメイン.com/wp/ [R=301,L]



以下、参考URL。
http://tech.bayashi.net/svr/doc/apache/mod_rewrite.html
http://web-tan.forum.impressrd.jp/e/2010/01/05/6369

id:jyusi-hyouhon

回答ありがとうございます!
[R=301,L]を追加して試してみたのですが、
リダイレクトチェックツールなどでヘッダー情報を検証したところ、302のままでした。
RedirectMatchでない書き方をした方が良いのでしょうか。

2012/08/19 14:37:49
id:windofjuly No.3

回答回数2625ベストアンサー獲得回数1149ここでベストアンサー

ポイント300pt

一例

RedirectMatch 301 ^/$ http://ドメイン.com/wp/

もしくは

RewriteEngine On
RewriteRule ^/$ http://ドメイン.com/wp/ [R=301,L]
他2件のコメントを見る
id:windofjuly

別の例

RedirectMatch 301 ^$ http://ドメイン.com/wp/
RedirectMatch 301 ^/index.html$ http://ドメイン.com/wp/

もしくは

RewriteEngine On
RewriteRule ^$ http://ドメイン.com/wp/ [R=301,L]
RewriteRule ^/index.html$ http://ドメイン.com/wp/ [R=301,L]
2012/08/19 18:35:22
id:jyusi-hyouhon

何度もご回答ありがとうございました。
無事にリダイレクトが成功しました~!

2012/08/19 18:42:49
id:jyusi-hyouhon

質問者から

JH2012/08/19 20:53:09

ちなみに、http://ドメイン.com/index.htmlへアクセスした際も

http://ドメイン.com/wpへ飛ぶように設定したいのですが。

その場合は、コードを足すのでしょうか。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません