http://httpd.apache.org/docs/2.2/rewrite/intro.html言います:
mod_rewrite では、!
文字を正規表現の前に使用して、それを否定できます。つまり、文字列は、式の残りの部分と一致しない場合にのみ一致したと見なされます。
ただし、私の構成は最初のルールでのみ機能し、2 番目のルールでは機能しません。誰かが理由を教えてもらえますか?
RewriteCond %{HTTP_HOST} !^static\.example\.com
RewriteCond %{HTTP_HOST} ^host\.example\.com
RewriteRule ^(/global/.*)$ /dir1
RewriteRule !^(/global/.*)$ /dir2 #this rule doesn't work.