2012-03-05 7 views
2

.htaccessファイルを使用すると理想的には1つのドメインからのトラフィックを受け入れることはできますか? 私のサイトは、私が持っている別のサイトのリンクを介してのみアクセス可能にしたい。1つ以外のすべてのドメインからの参照を拒否する

私は、これは私の完全な書き換えコードであるドメインを参照する1をブロックする方法を知って、すべてではないドメイン

RewriteEngine on 
# Options +FollowSymlinks 
RewriteCond %{HTTP_REFERER} otherdomain\.com [NC] 
RewriteRule .* - [F] 

:私はそれが働いていると思いますが、資産のいずれもありません

RewriteEngine On 

RewriteBase/

RewriteCond %{HTTP_REFERER} . 
RewriteCond %{HTTP_REFERER} !domain\.co.uk [NC] 
RewriteRule .? - [F] 

# The Friendly URLs part 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

私は別のリンクをクリックすると500エラーが発生します。リファラが空でないことを

RewriteCond %{HTTP_REFERER} . 
RewriteCond %{HTTP_REFERER} !yourdomain\.com [NC] 
RewriteCond %{HTTP_REFERER} !alloweddomain\.com [NC] 
RewriteRule .? - [F] 

最初RewriteCondチェック:

+0

コピー&ペーストエラーがありますか? –

答えて

2

は何かのようなことを確認してください。 2番目の文字列には文字列yourdomain.comが含まれていないことが確認され、3番目の文字列には文字列alloweddomain.comが含まれていないことが確認されます。これらのチェックのすべてが合格すると、RewriteRuleがトリガーし、要求を拒否します。

(空のリファラを許可するブラウザは、このような場合など、様々な理由のためにそれらを生成することができるので、一般的には良い考えである:

  • ユーザが内リンクを手動で入力し、ユーザーがリンクをブックマークした

    • アドレスバー、
    • は、ユーザーがブラウザがサイトとブラウザの間でプロキシをクロスサイトリファラのinfromationを送信しないように構成された、または
    • 、ページを再読み込み参照元情報を削除します)。
  • +0

    クイック返信ありがとうございました。何らかの理由で500エラーが発生しました。 – user1059511

    +0

    サーバログをチェックして、500エラーの原因を確認します。 –

    +0

    は私の最初の投稿 – user1059511

    関連する問題