apache虚拟主机配置好了以后localhost打不开
是不是虚拟主机跟localhost冲突啊 就是说 开了虚拟主机 就不能使用localhost了 反之要想使用localhost的话就必须关闭虚拟主机啊? 展开
其实你只需要在你的httpd-vhosts.conf里面添加一条localhost的规则就可以了
比如 localhost 的文档根目录是 /var/www
<VirtualHost *:80>
ServerAdmin localhost@localhost.com
DocumentRoot "/var/www"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/localhost.log"
CustomLog "logs/localhost.log" common
<Directory "/var/www">
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
原因是当你开启虚拟主机后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的配置,第二条是虚拟主机的配置,里面的目录根据你自己安装的软件位置来替换
<VirtualHost _default_:80>
DocumentRoot "E:\phpStudy\PHPTutorial\WWW"
ServerName localhost
<Directory "E:\phpStudy\PHPTutorial\WWW">
Options -Indexes -FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "E:\phpStudy\PHPTutorial\WWW\TEST"
ServerName www.test.com
<Directory "E:\phpStudy\PHPTutorial\WWW\TEST">
Options -Indexes -FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>重启apache
ps:以上为我在phpstudy2018上遇到问题的解决方法,其他版本不一定适用(文件名称也有不一样的比如vhosts.conf ,有些是http-vhosts.conf )
请根据自己的实际情况调整修改,也许你能找到不一样的方法,解决属于你的问题
就是用的80端口
广告 您可能关注的内容 |