.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回まで
  • 13歳以上
  • 登録:2012/08/19 11:20:09
  • 終了:2012/08/19 18:44:15

ベストアンサー

id:windofjuly No.3

うぃんど回答回数2625ベストアンサー獲得回数11492012/08/19 17:36:20

ポイント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

oil999回答回数1728ベストアンサー獲得回数3202012/08/19 11:45:44

ポイント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

gizmo5回答回数484ベストアンサー獲得回数1382012/08/19 14:08:22

ポイント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ベストアンサー獲得回数11492012/08/19 17:36:20ここでベストアンサー

ポイント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

ちなみに、http://ドメイン.com/index.htmlへアクセスした際も
http://ドメイン.com/wpへ飛ぶように設定したいのですが。
その場合は、コードを足すのでしょうか。

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません