下記でVirtualDocumentRootを使ってPHP環境を作りましたが、apacheの環境変数的には変わってないようで、デフォルトの値が入ってしまいます。(CentOS 6.6に入っているapache 2.2.15で確認しているので新しいのでは治ってるかも)

Macに複数サイトに対応したPHP環境を簡単に作る - komagata

すごく困るんですが、下記のようにPHPで無理やり書き換えればOK。

<virtualhost *:80>
    VirtualDocumentRoot /srv/%0

    # Ref: http://joshbenner.me/blog/quick-tip-get-proper-document-root-when-using-mod-vhost-alias/
    php_admin_value auto_prepend_file /srv/set_docroot_hack.php
</virtualhost>
<directory /srv/*>
    Order allow,deny
    Allow from all
</directory>

/srv/set_docroot_hack.php:


<?php
$_SERVER['DOCUMENT_ROOT'] = str_replace($_SERVER['SCRIPT_NAME'], '', $_SERVER['SCRIPT_FILENAME']);

なんか危ういですね。

Comments


Option