在我创建虚拟主机之前我可以看到“http://本地主机“,但是当我创建虚拟主机时我看不到”http://本地主机“和我的虚拟主机”http://测试“
这是我的虚拟主机配置文件:
<VirtualHost test:80>
ServerAdmin [email protected]
ServerName test
ServerAlias test
DocumentRoot "/home/javad/Public/test/public"
<Directory "/home/javad/Public/test/public/" >
Options Indexes FollowSymLinks
MultiViews ExecCGI
DirectoryIndex index.php
AllowOverride all
Order allow,deny
allow from all
</Directory>
</VirtualHost>
所以我进行了 a2ensite 测试
并添加
127.0.0.1 测试到 /etc/hosts 文件并重新启动 apapche2
但之后我无法访问http://测试甚至 http://本地主机 我明白
Forbidden You don't have permission to access / on this server.
当我删除虚拟主机设置时我可以访问http://本地主机
答案1
一旦激活虚拟主机,您需要重新配置localhost
为虚拟主机。您只需复制粘贴httpd.conf
参数即可。
答案2
目录中可能没有索引文件且目录列表被禁用? - 您不能直接访问文件吗?
否则请检查网络服务器用户的读取权限。
对我来说,在虚拟主机容器内有一个目录声明看起来很奇怪,通常情况并非如此,但如果你可以启动你的网络服务器,它似乎可以工作。
您需要有一个 namevirtualhost 指令才能使您的配置正常工作。
<VirtualHost test:80>
...尝试使用*:80或ip:80。该分辨率可能会导致问题并使虚拟主机无效。
答案3
这对于评论来说太长了,所以我会修改这个答案。运行此脚本并为我们提供输出:
#!/bin/bash -x -e
cd /
ls -lhd .
cd home
ls -lhd .
cd javad
ls -lhd .
cd Public
ls -lhd .
cd test
ls -lhd .
cd public
ls -lhd .
ls -lh
答案4
创建虚拟主机时,您还必须为服务器指定虚拟主机,在本例中为 localhost。请参阅标题为“主要宿主消失“