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


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

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/05/03 21:05:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:kn1967 No.1

回答回数2915ベストアンサー獲得回数301

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

回答回数358ベストアンサー獲得回数30

ポイント27pt

> RewriteEngine On

mod_rewrite を使う


> RewriteCond %{HTTP_REFERER} $^

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


> RewriteRule ^.*$ [F]

全てアクセス禁止にする


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

id:ito-yu No.3

回答回数323ベストアンサー獲得回数14

ポイント26pt

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

誤)RewriteRule ^.*$ [F]

正)RewriteRule ^.*$ - [F]

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

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

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

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

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

回答リクエストを送信したユーザーはいません