※ 最後に書いた注意が大事ですので、必ず読んで下さい。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.hoge\.com$
RewriteRule ^$ http://hoge.com/?uid=%1 [QSA,L]
RewriteCond %{HTTP_HOST} ^(.*)\.hoge\.com$
RewriteRule ^bbs\.php$ http://hoge.com/bbs.php?uid=%1 [QSA,L]
※うまく行かない場合は、2、3、4、5行目の^の後に、/を入れてください。
●解説します。
2、3行目の機能
http://○○.hoge.com/ → http://hoge.com/?uid=○○
※QSAがある為、
http://○○.hoge.com/?▲=△&▼=▽ → http://hoge.com/?uid=○○&▲=△&▼=▽
となります。この変換が不要な場合は、3行目の[QSA,L]を[L]に修正して下さい。
4、5行目の機能
http://○○.hoge.com/bbs.php?▲=△&▼=▽ → http://hoge.com/bbs.php?uid=○○&▲=△&▼=▽
2行目、3行目で、hogeの前に.がある為、無い場合は変換しません、よって、
http://hoge.com/?uid=○○ の場合やhttp://hoge.com/bbs.php?uid=○○&▲=△&▼=▽ の場合はそのままです。
なお、ブラウザのURL欄も書き換わってしまう為、ユーザーに変換を行っていることがわかります。
質問の仕方から考えて、これで大丈夫なのだと思いますが、もしも、ブラウザのURL欄を書き換えずに内部的な変換のみ行いたいならば、お知らせ下さい。
その場合、回答受付中もコメントできるようにしていただければ、コメントにてお答えします。
●注意
この.htaccessファイルは、http://○○.hoge.com/というURLでアクセスできるディレクトリ(=フォルダ)におく必要があります。(アクセスできるか確かめるには、.htaccessには何もかかない状態で、自分で作ったindex.htmファイルを置いて、それが表示されるか確かめればよいでしょう。)
うまく行かない場合は、ドメイン(○○.hoge.com/)とディレクトリ(=フォルダ)との関連付けの設定を確認して下さい。○○が任意でもアクセスできるディレクトリがある必要があります。