ロリポップでのRedirect permanent


お世話になっています。

ロリポップ.htaccessでRedirect permanentがループしてしまい使えません。

環境
http://example.com/以下に
Redirect permanent /work http://blog.example.com/work
の1行のみの.htaccessを配置

http://blog.example.comはサブドメインを取得して設定済です。

リダイレクト先
http://blog.example.com/workはWordPressで作成した固定ページです。

http://blog.example.com/workのWordPress側の.htaccessはデフォルトのまま変更していません。

http://example.com/以下の.htaccessを削除した場合
http://blog.example.com/workには通常どおりアクセスできます。

WAF設定はすべてのドメインを無効に設定しています。

検証
ブラウザクッキー、キャッシュの削除、ブラウザ再起動
WordPress以外のテストページを作成してRedirect permanentを検証してみましたが
こちらはリダイレクトに成功します。

http://example.com/work
http://blog.example.com/workにリダイレクトだけアクセスがループしてしまいできません。

ご存知の方ご教授宜しく御願いいたします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/02/21 19:11:46
  • 終了:2013/02/28 19:15:04

回答(1件)

id:windofjuly No.1

うぃんど回答回数2625ベストアンサー獲得回数11492013/02/21 20:53:27

Redirect は指定したディレクトリ以下をすべてリダイレクトしてしまいます。

ロリポップのサブドメインは、
ドメインのルート下に専用ディレクトリを配置して飛ばしているだけなので、
指定ディレクトリ以下すべてをリダイレクトしてしまう Redirect ではなく、
特定のパターンを満たす場合だけ飛ばすことの出来るrewriteを使うと良いでしょう。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^work$ http://blog.example.com/work [R=301,L]

(テストせずいきなり書いてます)

ちなみに
Redirect は mod_alias で Rewriteで始まる命令は mod_rewrite のものです。

他2件のコメントを見る
id:oracle11011

http://blog.example.com/workには普通にアクセスできますが

やはりリダイレクトで
http://example.com/workとしてアクセスすると404エラーになってしまいます。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^(.*)$ http://blog.example.com/work [R=301,L]

こちらも検証してみましたが
http://example.com/以下のファイルにアクセスできてしまい
リダイレクトできません。

2013/02/22 00:40:34
id:oracle11011

訂正
>こちらも検証してみましたが
>http://example.com/以下のファイルにアクセスできてしまい
>リダイレクトできません。

http://blog.example.com/work/
にリダイレクトできました。

2013/02/22 01:12:36

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

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

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

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

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