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

mod_rewrite で悩んでいます。

「HTTP_REFERER がない場合」という条件設定を行いたいとき、
RewriteCond %{HTTP_REFERER} !.+ では正しく判断されるのに、
RewriteCond %{HTTP_REFERER} ^$ では無視されてしまいます。

また、「HTTP_REFERER が http://hoge.jp/〓 の場合」という条件設定を行いたいとき、
RewriteCond %{HTTP_REFERER} ^http://hogeo.jp/.*$
RewriteCond %{HTTP_REFERER} ^http://hogeo.jp/
RewriteCond %{HTTP_REFERER} .*hoge.*
RewriteCond %{HTTP_REFERER} hoge
RewriteCond %{HTTP_REFERER} .+
どの表現でも無視されてしまいます。

いったい何が悪いのでしょうか?
サーバは Apache 2.0 です。

●質問者: まきのっぴ
●カテゴリ:ウェブ制作
✍キーワード:2.0 Apache hoge HTTP_REFERER mod_rewrite
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● kimizu
●50ポイント

http://www.preston-net.com/wiki/index.php?%5B%5B%C4%BE%A5%EA%A5%...

Preston Wiki - 直リンク禁止設定

画像などの直リンクを禁止させたいのですよね。

これでいかがでしょ。


RewriteCond %{HTTP_REFERER} !^$ [NC]

RewriteCond %{HTTP_REFERER} !^http://hoge.jp/.*$ [NC]

◎質問者からの返答

いえ、目的は全く別で、

REFERER がないか、自サイト内からの場合のみ、あらかじめ生成済みの静的なキャッシュファイルに飛ばし、それ以外 (つまり外部サイトから飛んできた場合) のみ CGI に飛ばす、ということをやろうとしています。

なので条件としては逆になります。

関連質問


●質問をもっと探す●



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