Изначально я установил корневой каталог в /etc/apache2/sites-available/000-default.conf
указать на /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
.
Есть ли способ переопределить глобальные настройки корневого веб-узла / виртуального хоста в этом случае для правильного доступа к project2.com?
Вы должны указать полное имя хоста при настройке параметра ServerName:
ServerName project2.com
Поскольку вы перестали использовать '.com', apache не знает, как отправить вас туда.