其实你只需要在你的httpd-vhosts.conf里面添加一条localhost的规则就可以了
比如 localhost 的文档根目录是 /var/www
ServerAdmin localhost@localhost.com
DocumentRoot "/var/www"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/localhost.log"
CustomLog "logs/localhost.log" common
Options FollowSymLinks
AllowOverride All
Require all granted
原因是当你开启虚拟主机后apache会对访问本服务器的域名做规则匹配,localhost也是一域名,apache会捕获它,匹配虚拟主机的规则,发现没有,则会选取虚拟主机中与之最相似的第一条作为规则进行处理,如果你不用域名而是直接用IP就会跳过虚拟主机的规则匹配:127.0.0.1
软件:phpstudy2018
问题:apache虚拟主机配置好了以后localhost打不开
解答:
\phpStudy\PHPTutorial\Apache\conf目录中的httpd.conf 文件注释掉 ServerName localhost
\phpStudy\PHPTutorial\Apache\conf目录中的vhosts.conf 中替换以下代码,第一条是默认情况下访问localhost的配置,第二条是虚拟主机的配置,里面的目录根据你自己安装的软件位置来替换
DocumentRoot "E:\phpStudy\PHPTutorial\WWW"
ServerName localhost
Options -Indexes -FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
DocumentRoot "E:\phpStudy\PHPTutorial\WWW\TEST"
ServerName www.test.com
Options -Indexes -FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
重启apache
ps:以上为我在phpstudy2018上遇到问题的解决方法,其他版本不一定适用(文件名称也有不一样的比如vhosts.conf ,有些是http-vhosts.conf )
请根据自己的实际情况调整修改,也许你能找到不一样的方法,解决属于你的问题
在php.ini里面开启display_error=on这个开启下重启apache,再打开看看显示具体错误。你加82端口就要在apache配置相对应的82端口。
网页链接
用这个