userディレクトリからチルダ(~)を取り除く http://domain/~user から http://domain/user への変更 #UserDir d:/httpd/www/public_html" # Userディレクトリ "/user名/public_html/folder/index.html" # http://ドメイン名/user名/folder/index.html UserDir d:/httpd/www/public_html の行を下記と置き換える AliasMatch ^/([^/]+)/(.*) D:/httpd/$1/public_html/$2 Userディレクトリの正規表現の結果は # $1=user名 $2=public_html/folder/index.html となり # D:/httpd/user名/public_html/folder/index.html にマッチすることになる ^/([^/]+)/(.*) の意味 先頭が「/」で、次の文字が「/」以外の複数文字($1)と一致 次の文字がが[/]と一致、次が任意の1文字($2)と一致 問題点 webdavを使用する場合に問題が起こる(webdavに対しても、AliasMatchが働く) このため Alias /user名/ /home/user名/public_html を各ユーザ名に対して記述すると ユーザホームページがチルダ付でも無しでもどちらでもアクセス可となる 拡張子の優先順位 Redirect /index.html http://ドメイン名/user名/ ディレクトリ中でのindex.html等の拡張子の優先順位 DirectoryIndex index.html index.htm index.php idex.cgi ここで、優先順位が決まる 携帯からのアクセスで、携帯用のホームページを見せるには、次のようにする 拡張子の順番を変更して、index.php idex.cgi index.html index.htm index.php(携帯用と一般用を分離) if(ereg("DoCoMo",$HTTP_USER_AGENT)){ header("Location :http://aaa.com/docomo.html"); }else{ header("Location :http://aaa.com/index.html"); } VirtualHost 複数のドメイン名を使って一つのサーバを運用する場合 httpd.confの一番下を修正する <VirtualHost>の部分を追加修正する 1つのドメイン名に対して1つ必要です SSI(server side include)の起動方法 下記の内容のファイルを 「.htaccess」という名前で SSIを動かしたいディレクトリに設置する AddHandler server-parsed .shtml AddHandler server-parsed .html AddHandler server-parsed .htm Webページに下記の行を入れると、SSIが実行される <!--#include virtual="./cgi-bin/****.cgi"--> 文字化け対策 httpd.confを修正する adddefaultcharset SJIS