さっそくだけどVirtualDocumentRootについて
Apache関係に限らず、技術系で細かい事をしようと思うと、
手元に資料がないとはまります。単純に理解が足りないだけだけど・・
VirtualDocumentRootを利用して、自動でフォルダ判別したいんだけど、
ドメインでフォルダほって、その下にサブドメイン名のフォルダをほる。
これでわけたかったわけだけど、四苦八苦した。
sub.domain.comというのがあったとしたら、
DocumentRootを /home/domain.com/sub
としたかったわけです。
%0 = sub.domain.com
%1 = sub
%2 = domain
%3 = com
なわけなので、↓で試したわけです。
VirtualDocumentRoot /home/%2.%3/%1
としてみたわけですけど、apachectl configtestでエラーになりますわな。
エラー内容としては、
syntax error in format string
となるわけです。
で、焦ってしまったわけです。
焦った状態で次に試したのが、↓
VirtualDocumentRoot /home/%2.3/%1
apachectlは問題なく通るわけですが、これもエラーになりますわな。
エラーとしては、404エラーなわけです。
エラーログでは、
File does not exist: /home/m
がでます。
理由としては、%2の3文字目という事で、
%2 = domain
でいうところの 『m』という文字になるわけですね。
で、実際の処理としては、
DocumentRoot /home/m/sub
という意味わからんことになってしまってるわけです。
で、答えは、
VirtualDocumentRoot /home/%2+/%1
でした。
%2 の後に 『+』をつけることで、%2以降全てになるようだ。
httpd.confとかいじるときは、手元にApache関連の本が必要だなと実感しました。
ググッても詳しいのが見当たらなかった。