人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ロリポップでの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にリダイレクトだけアクセスがループしてしまいできません。

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


●質問者: oracle11011
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● うぃんど

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 のものです。


oracle11011さんのコメント
ご回答有難う御座います。 http://tech.bayashi.jp/archives/entry/techweb/2007/001981.html こちらのサイトを参考にして RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com RewriteRule ^work$ http://blog.example.com/work [R=301,L] をいろいろ書き換えて検証してみましたが 404Errorになってしまいます。

うぃんどさんのコメント
404ですから ^example\.com もしくは http://blog.example.com/work の部分に問題があるということになりますね。 RewriteCondが正しいかどうかは下記のように、 example\.com へのアクセスはすべて飛ばすという具合にして確認したりします。 >|| RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com RewriteRule ^(.*)$ http://blog.example.com/work [R=301,L] ||< http://blog.example.com/work が正しいかどうかは、 ブラウザのアドレス欄に http://blog.example.com/work を入力して直接アクセスできているかを確認したりします。

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/以下のファイルにアクセスできてしまい リダイレクトできません。

oracle11011さんのコメント
訂正 >こちらも検証してみましたが >http://example.com/以下のファイルにアクセスできてしまい >リダイレクトできません。 http://blog.example.com/work/ にリダイレクトできました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ