2017-12-15 7 views
-3

私は次の.htaccessファイルの内容を持っています:
ファイルは簡潔にするためにクリップされています。htaccessイメージの制限はすべてのドメインで完全に動作していますが、ローカルホストでも動作していませんhttp://192.168.4.2

Options -Indexes 
RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http://192.168.4.2 [NC] 
RewriteCond %{HTTP_REFERER} !http://192.168.4.2 [NC] 
RewriteRule \.(jpg)$ - [F] 

アイデアはjpg拡張は(F|forbiddenフラグを使用して)禁止されることです。

これは、http://192.168.4.2の私のIPを除くすべての環境で正常に動作します。
何らかの明確化が認められるであろう。

+3

大文字を避けてください。あなたの質問をよりよくフォーマットしてください。あなたのコード(あなたが試したもの)を追加して、それを再作成し、助けを求める問題/質問を明確に説明してください。質問する方法については、ヘルプセクション(https://stackoverflow.com/help)を参照してください。 – Yannis

答えて

0

RewriteCondのパターン文字列は、相対URL(/vpn)の代わりに完全なURL(http://localhost/vpn)を使用しているため、問題があるようです。質問の内容であなたの変化に基づいて

<IfModule mod_rewrite.c> 
    Options -Indexes 
    RewriteEngine on 
    RewriteCond %{HTTP_REFERER} !^/vpn [NC] 
    RewriteCond %{HTTP_REFERER} !/vpn [NC] 
    RewriteRule \.(jpg)$ - [F] 
</IfModule> 
+0

私のコードは変更されました。申し訳ありません、このurlで私を助けてください。192.168.4.2 – sudipta

+0

あなたのコードが正確に何が変わったのですか?ちょうどIPアドレス?またはURLの構造も同様ですか? – DeadLock

+0

はい私はこのURLの私のURLの問題を変更しました。私を助けてください – sudipta

0

更新答え -​​ - あなたは次のようにあなたのRewriteCondを変更する必要がありますあなたはこれを試してみたいことがあります。

Options -Indexes 
RewriteEngine on 
RewriteCond %{REMOTE_ADDR} !^192\.168\.4\.2$ 
RewriteRule \.(jpg)$ - [F] 

の代わりに%{HTTP_REFERER}

可能性の重複条件%{REMOTE_ADDR}を使用してください - mod_rewrite based on ip

+0

なぜあなたは_two_答えを投稿しましたか?彼らは連結されていないでしょうか? 1つは冗長ですか? – JustCarty

+0

OPは、彼/彼女の問題の元の記述を変更しました。この変更が行われる前に、元の説明の最初の回答が掲載されました。 – DeadLock

+0

それから、もはや必要がなくなったらその質問を削除するべきだと私は賭けています。 – JustCarty

0

迅速Googleやドキュメントの読みは、このリンクに私を導いた:
https://httpd.apache.org/docs/2.4/rewrite/access.html#blocked-inline-images

を変更してみてくださいあなたのコード:

Options -Indexes 
RewriteEngine on 
RewriteCond "%{HTTP_REFERER}" "!^$"      # no referer (they entered the URL directly) 
RewriteCond "%{HTTP_REFERER}" "!http://192.168.4.2" [NC] # they came from an address at "www.example.com" 
RewriteRule "\.(gif|jpg|png)$" "-" [F,NC]     # the extension to block, separated by a pipe ("|") 

いくつかの注意事項:無意味RewriteCond!^http://192.168.4.2)を削除


  • キャレットシンボルはRegExからのもので、パターンの開始を示すために使用されます。これは、両方のルールが実質的に同じであることを意味しました。
  • 空白のリファラーパターンが追加されました。
  • その他の拡張機能が追加されました。
    これはドキュメントのものであり、ブロックする拡張機能はあなた次第です。
  • 説明を追加しました。
関連する問題