仮想ホストの設定に関する多くの記事や投稿を読みましたが、どれが問題なのかわかりませんでした。
php + mysql プロジェクトを管理するために xampp をインストールした Win7 PC があります。デフォルトでは、Web ルート ディレクトリは C:\xampp\htdocs です。Skype との競合を避けるために、ポート 8080 で動作するように Apache を設定しました。
localhost:8080/mysubdir のようなものを参照すると、正常に動作します。
私の考えは、Apache の webroot を自分の PC の別のディレクトリに向けることでした: webroot を向けたいディレクトリは C:\Users\myuser\Google Drive\CODE_REPOS です。
オンラインで検索したところ、VirtualHost で可能のようです。ここに私の構成
apache httpd.conf
#Listen [::]:80
Listen *:8080
# Virtual hosts
#Include "conf/extra/httpd-vhosts.conf"
ここに私の httpd-vhosts.conf
# Use name-based virtual hosting.
#
NameVirtualHost *:8080
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:8080>
ServerAdmin admin@localhost.com
DocumentRoot "C:/xampp/htdocs" # change this line with your htdocs folder
ServerName localhost
ServerAlias localhost
<Directory "C:/xampp/htdocs">
Options Indexes FollowSymLinks Includes ExecCGI
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost development.loc:8080>
ServerAdmin admin@localhost.com
DocumentRoot "C:/Users/myuser/Google Drive/CODE_REPOS" # change this line with your htdocs folder
ServerName development.loc
ServerAlias development.loc
<Directory "C:/Users/myuser/Google Drive/CODE_REPOS">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
C:\Windows\System32\drivers\etc\hosts のコード
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 localhost
127.0.0.1 development.loc
Apache を停止し、#Include "conf/extra/httpd-vhosts.conf" の行のコメントを外して、Apache を再度起動しようとすると、起動してすぐに停止します。
私が逃したものを理解していません。