さっそくだけどVirtualDocumentRootについて

Filed under Apache
Tagged as

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関連の本が必要だなと実感しました。
ググッても詳しいのが見当たらなかった。

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*