0

Heliconによって IIS6 用にコーディングされた mod-rewrite モジュールに関する追加の質問。IP アドレスをリダイレクトするための最初の条件は、期待どおりに機能します。ただし、正しく動作していないように見える 2 つ目の書き換え条件も追加しました。これが私の .htaccess ファイルです (通常、mod-rewrite モジュールは Apache サーバーに含まれていますが、IIS6 の場合、Heliconという会社が、Apache の動作をエミュレートする独自のモジュールをコーディングしました)。ベンダーにコメントを求めましたが、なぜ機能しないのかわかりません。これが私の .htaccess ファイルです (同じファイルに 2 つの RewriteCond と RewriteRules があることに注意してください。IP フィルターは機能しますが、エージェントのフィルターは機能しません)。

IP、REMOTE_ADDR 条件が機能する

RewriteCond %{REMOTE_ADDR} (\b89\.242\.(?!36)\d{1,3}\.\d{1,3}|\b88\.78\.30\.\d{1,3}|etc...)
RewriteRule (.*) http\://www.aspdnsf.com/CASP_BotCatch.aspx\?htaccess=1&agentblock=0&ipblock=1 [I,RP]

AGENT、User-Agent: 条件が機能しません

RewriteCond User-Agent: .*Java.*
RewriteRule (.*) http\://www.aspdnsf.com/CASP_BotCatch.aspx\?htaccess=1&agentblock=1&ipblock=0 [I,RP]

どんな助けでも大歓迎です。

4

1 に答える 1

0

ブラウザから送信されたユーザー エージェント ヘッダーの値を確認しようとしている場合は、2 番目のルール セットを次のように変更してみてください。

RewriteCond %{HTTP_USER_AGENT} Java
RewriteRule .* http\://www.aspdnsf.com/CASP_BotCatch.aspx\?htaccess=1&agentblock=1&ipblock=0 [I,RP]

変更された RewriteCond ディレクティブは、文字列「Java」が HTTP_USER_AGENT サーバー変数の値に含まれている場合にのみ一致する必要があります。

于 2013-05-10T19:34:28.833 に答える