サブディレクトリをドキュメントルートに設定する

hogehoge/をドキュメントルートに設定したいとき.

RewriteEngine on
RewriteBase /
RewriteRule ^$ hogehoge/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ hogehoge/$1 [L]

上記をルートディレクトリの.htaccessに書いて, サブディレクトリ以下にあるフォルダ・ファイル名とルートディレクトリ以下にあるフォルダ・ファイル名重ならなければ正常に動作する.

# !-f は存在するファイル名にはルールを適用しない
# !-d は存在するディレクトリ名にはルールを適用しない

というオプションを設定しているので, もしhogehoge/works/works/が同時に存在すると, 上記を設定していてもworks/が表示される.