私はもともと/etc/Apache2/sites-available/000-default.conf
のWebルートを/home/me/www
を指すように設定しました。新しいプロジェクトの要件により、/home/me/www/vendor/www
に起因するリクエストのローカルディレクトリの断片が現在失敗するため、localhost/blah/blah/blah
を独自の仮想ホストとして設定できる必要があります(サイトコード的にはかなりひどいので、私はそれに取り組むように契約されています)。
/etc/Apache2/sites-available
に次の設定ファイルがあります-
project2.com.conf
:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName project2
ServerAlias localcopy
ServerRoot /home/me/www/vendor/www/
DocumentRoot /home/me/www/vendor/www/
<Directory /home/me/www/vendor/www>
Header set Access-Control-Allow-Origin "*"
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${Apache_LOG_DIR}/error.log
CustomLog ${Apache_LOG_DIR}/access.log combined
</VirtualHost>
# vim: syntax=Apache ts=4 sw=4 sts=4 sr noet
また、/etc/hosts
ファイルに次のエントリがあります。
127.0.0.1 localhost
127.0.1.1 Shevat
127.0.1.2 project2.com
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ただし、ブラウザからproject2.com
にアクセスしようとすると、代わりに/home/me/www
ディレクトリの内容が表示されます。これは、前述のように、それを/etc/Apache2/sites-available/000-default.conf
のグローバルWebルートとして設定したためです。 。
このインスタンスでグローバルWebルート/仮想ホスト設定をオーバーライドしてproject2.comに正しくアクセスする方法はありますか?
ServerNameパラメーターを設定するときは、完全なホスト名を指定する必要があります。
ServerName project2.com
'.com'を中断したため、Apacheはあなたをそこに送信することを知りません。