RewriteRuleの書き方がわからん

mod_rewriteのRewriteRuleの書き方がよくわからん。

RewriteRule (.+)\.html$ /~hoge/hoge.cgi?p=$1

は動くのだが、

RewriteRule ([a-zA-Z0-9]+)\.html$ /~hoge/hoge.cgi?p=$1

はダメ。正規表現[a-zA-Z0-9]は使えないのか…

ログ見ると

[Thu Jul 13 05:22:36 2006] [notice] child pid 24996 exit signal Bus error (10)

うーん、見てもわからん!