1

私の .htaccess ファイルには次のものがあります。

RewriteCond %{REMOTE_ADDR} (\b88\.78\.30\.\d{1,3}|\b182\.\d{1,3}\.\d{1,3}\.\d{1,3}|etc..)
RewriteRule (.*) http://www\.foobar\.com/botcatch.html [I,RP]

ログを見ると、クラス D 範囲の有効な IP アドレスを除外したいと考えています。したがって、たとえば 88.78.30.20 をこのリストに含めないように追加したいと思います。この掲示板の多くの投稿で否定的な先読みを見てきました。しかし、私はまだそれらを理解していません。

4

1 に答える 1

0

否定的な先読みは、何かが見えない場合の長さがゼロの一致です。これは、あなたが言及したことの補足です。

RewriteCond %{REMOTE_ADDR} (\b88\.78\.30\.(?!20)\d{1,3}|\b182\.\d{1,3}\.\d{1,3}\.\d{1,3}|etc..)

これは連鎖可能であるため、次のことも実行できることに注意してください。

RewriteCond %{REMOTE_ADDR} (\b88\.78\.30\.(?!20|40)\d{1,3}|\b182\.\d{1,3}\.\d{1,3}\.\d{1,3}|etc..)

したがって、単語境界の後に1 桁から 3 桁の数字が続くか、そう88.78.30.でない場合。2040

于 2013-05-09T23:08:58.293 に答える