foldrr's weblog

旧ブログ http://d.hatena.ne.jp/foldrr/

Apache でユーザー毎の公開ディレクトリを用意する

http.conf に UserDir を定義するのが手っ取り早いが、この場合はアドレスにチルダが入ってしまう。

http://hostname/~username/

これが気持ち悪いのでレンタルサーバではサブドメインがよく使われる。

http://username.hostname/

LAN での開発ではサブドメインを使おうとすると DNS 設定などが煩雑になるので、サブディレクトリを各ユーザーの公開ディレクトリに割り当てるといい。

<Directory "/home/*/public_html">
    Options Indexes FollowSymLinks ExecCGI
    AllowOverride All
    Order Allow,Deny
    Allow from All
</Directory>
:
AliasMatch ^/([^\/]+)/(.*) /home/$1/public_html/$2