Link mod_rewriteで直リン禁止

[Linux]

Apacheのモジュールでmod_rewriteというものがあります。
URLを書き換えてhttpデーモンに渡すモジュールだそうです。
これを使えばさまざまなことができます。

まずは直接リンクを禁止する方法です。

.htaccess ファイルを以下の内容で作成し、アップロードすればOKです。

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://www.xxx.ne.jp/.*$ [NC]
RewriteRule ^(.*)$ - [F]

↑リファラがhttp://www.xxx.ne.jp/にマッチしなければアクセスを拒否する

画像だけ拒否したければ RewriteRule ^.*\.gif$ - [F] のように変えます。


面白い使い方としてはhttp://www.xxx.ne.jp/test.cgi?arg1=a&arg2=bにアクセスしたいとき、
http://www.xxx.ne.jp/a/b/にアクセスさせて↑のURLに飛ばすことができます。

RewriteEngine on
RewriteRule ^/([0-9A-Za-z]+)/([0-9A-Za-z)]+)/$ /test\.cgi?arg1=$1&arg2=$2 [L]

↑のように書けば実現できますね。

2005,05,14 : 23:46 | 修正 | トラックバック (0)

Trackback
このエントリーのトラックバックURL:

2004 All rights reserved

Movable Type 4.1b2-en