我想在 XAMPP 中创建虚拟主机。因此我在 Google 上搜索了它。我在配置文件中做了相同的更改,如下所示XAMPP 中的虚拟主机。但当我去的时候http://localhost2
它对我说:
禁止访问!
您无权访问请求的目录。没有索引文档或目录受读保护。
如果您认为这是服务器错误,请联系网站管理员。
错误 403
本地主机2
Apache/2.4.9 (Unix) OpenSSL/1.0.1g PHP/5.5.11 mod_perl/2.0.8-dev Perl/v5.16.3
我也在 Google 上搜索过这个问题,但没有人能帮助我。
请帮忙。提前致谢。
答案1
根据 Apache 文档,ServerName 需要完整限定域名 (FQDN). localhost 名称不是完全限定域名。
我建议更改您的 vhost 配置:
<VirtualHost *:80>
DocumentRoot /opt/lampp/htdocs
ServerName firstSite.localhost
ServerAlias www.firstSite.localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /home/mirjalal/localhost2
ServerName secondSite.localhost
ServerAlias www.secondSite.localhost
<Directory "/home/mirjalal/localhost2">
Options +Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
在哪里虚拟主机*:80 表示 apache 监听任何 IP 地址、端口 80,并且您正在定义“基于名称的虚拟主机“。 服务器名称现在的 FQDN 由两部分组成:主机名和域名。 文档根目录设置 httpd 提供文件服务的目录。
我加目录指令,因为我猜测主服务器(在 apache2.conf 中定义)不会对您的 /home/mirjalal/localhost2 目录执行此操作。
将此指令保存在 /etc/apache2/sites-available/myWebSite.conf 中
打开 /etc/hosts 并更改主机名:
127.0.0.1 localhost
127.0.1.1 mirjalal-PC
127.0.0.1 firstSite.localhost
127.0.0.1 secondSite.localhost
现在我们准备好了启动新站点并停止默认虚拟主机在本地主机上监听:
a2ensite myWebSite
a2dissite 000-default
service apache2 reload
为了验证,将一个简单的文件 index.html 放在 /home/mirjalal/localhost2 中并尝试http://secondSite.localhost/