Apache 2.2.15、PHP 5.3.2 で、バーチャルホストを設定して WordPress 動作させようとした際、ちょっと躓いたのでその覚書です。
ルートディレクトリが「www.example.com」で、バーチャルホスト「www.example.com」を設定する際の httpd.conf と extra/httpd-vhosts.conf の設定について。
httpd.conf
extra/httpd-vhosts.conf の読み込み指示がコメントアウトされているので、有効にする。
URIにファイル名が指定されなかった場合のデフォルト指定で、<IfModule dir_module> の DirectoryIndex に、index.php を追加する。セパレータは空白でOK。
httpd-vhost.conf
<VirtualHost *:80> ServerAdmin webmaster@www.example.com DocumentRoot "D:/httpd/www/htdocs" ServerName www.example.com ErrorLog "D:/httpd/www/logs/error.log" CustomLog "D:/httpd/www/logs/access.log" common <Directory "D:/httpd/www/htdocs"> Options FollowSymLinks AllowOverride All Order Deny,Allow Allow from all </Directory> </VirtualHost>
10行目の「Order Deny,Allow」の設定が「Order Allow,Deny」になっていると、「http://www.example.com/」のアクセスで、 DocumentRoot で設定したディレクトリの index.html が読み込まれ、「http://www.example.com/index.html」で、VirtualHost で設定したディレクトリの index.html が読み込まれるという動作をする。