apacheのhttpd.confの設定で、下記のような記述があるのですが、どういう意味ですか?


RewriteEngine On
RewriteCond %{HTTP_REFERER} $^
RewriteRule ^.*$ [F]

回答の条件
  • 1人2回まで
  • 登録:2007/04/26 21:00:59
  • 終了:2007/05/03 21:05:03

回答(3件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012007/04/26 21:25:33

ポイント27pt

http://japache.infoscience.co.jp/rewriteguide/#ToC38

直リン規制です。

RewriteEngine On リライト機能をONにします
RewriteCond %{HTTP_REFERER} !$^ まずは全面的に禁止対象とします
RewriteCond %{HTTP_REFERER} !^http://許可したいURL1/.*$ [NC] 許可したいURLを書きます。
RewriteCond %{HTTP_REFERER} !^http://許可したいURL2/.*$ [NC] 許可したいURLを書きます。
RewriteCond %{HTTP_REFERER} !^http://許可したいURL3/.*$ [NC] 許可したいURLを書きます。
RewriteRule ^.*$ [F] 禁止対象の場合は指定されたファイルではなくエラー403Forbidden(許可なし)を返します。
id:pmakino No.2

まきのっぴ回答回数355ベストアンサー獲得回数282007/04/26 23:00:12

ポイント27pt

> RewriteEngine On

mod_rewrite を使う


> RewriteCond %{HTTP_REFERER} $^

HTTP_REFERER が $^ にマッチする時、つまり REFERER が無い場合に、


> RewriteRule ^.*$ [F]

全てアクセス禁止にする


HTTP_REFERER がない場合 (お気に入りからのアクセス、URL 直打ち等) のアクセスを禁止したいようです。

id:ito-yu No.3

ito-yu回答回数323ベストアンサー獲得回数142007/04/26 23:32:22

ポイント26pt

3行目間違っているように見えますが

誤)RewriteRule ^.*$ [F]

正)RewriteRule ^.*$ - [F]

リファラー(環境変数HTTP_REFERER)が空(正規表現^$)ならアクセス拒否([F]、403 Forbidden)する。です。

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

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

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

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

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