我最初将我的 Web 根目录设置为/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
,因为就像我上面所说的那样,我将其设置为我的全局 Web 根目录/etc/apache2/sites-available/000-default.conf
。
有没有办法覆盖此实例中的全局 Web 根目录/虚拟主机设置,以便正确访问 project2.com?
答案1
设置 ServerName 参数时必须指定完整的主机名:
ServerName project2.com
由于您离开了‘.com’,因此 Apache 不知道将您发送到那里。