次のルールがあります。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^blog/?$ http://blog.example.com/ [P]
RewriteRule ^(blog/.*)$ http://blog.example.com/$1 [p]
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^(.*)?$ http://www.example.com/$1 [L,R=301]
私が達成しようとしているのは、私の期待の 90% まで機能するということです。ここでの問題は、http://blog.example.com/some/dir/foo.phpにアクセスすると問題なく動作することです。ただし、http://www.example.com/blog/some/dir/foo.phpにアクセスしても機能しません。
私が見逃しているルールは何ですか?