我终于管理了如何为我的虚拟主机需求正确配置httpd.conf。这是httpd.conf文件的相关部分
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
DocumentRoot /Applications/XAMPP/htdocs/
</VirtualHost>
<VirtualHost *:80>
ServerName test.local
DocumentRoot /Applications/XAMPP/htdocs/test/
</VirtualHost>
<VirtualHost *:80>
ServerName work.local
DocumentRoot /Applications/XAMPP/htdocs/work/
</VirtualHost>
当我访问localhost上的任何内容时(即http://localhost/phpmyadmin),一切都非常快。 每当我访问test.local或work.local(或我配置的其他人)时,它会在查找上花费10-15秒。以下请求处理正确且速度非常快但在一分钟左右不活动后,必须再次查找。
这是我的/ etc / hosts文件
127.0.0.1 localhost
255.255.255.255 broadcasthost
#::1 localhost
fe80::1%lo0 localhost
# Virtualhosts
127.0.0.1 test.local work.local yii.local
我怎么能解决这个恼人的问题?
答案 0 :(得分:67)
将您的虚拟主机添加到第一行:
127.0.0.1 localhost test.local work.local yii.local
删除最后一行。
这应该可以解决问题。您的vhost现在是localhost的别名。在多行中拥有相同的IP地址并不是一个好主意。这只会混淆DNS缓存。
答案 1 :(得分:4)
对于使用Chrome并且虚拟主机查找速度较慢的用户,您需要将虚拟主机名更改为.local
以外的其他名称,例如。将test.local
更改为test.dev
。
解释和来源:http://bencrowder.net/blog/2012/10/slow-localhost-in-chrome/
答案 2 :(得分:3)
为我修复的是编辑 httpd-vhosts.conf 并更改所有实例:
<VirtualHost *:80>
为:
<VirtualHost 0.0.0.0:80>
解决主机需要大约2-5秒,现在是即时的。我没有必要在hosts文件中修改我的网站的顺序。这只是让它使用ipv4而不是ipv6,我敢打赌你不会使用它。
答案 3 :(得分:0)
您还应该为vhosts文件实现其他参数,例如单独的错误日志和服务器别名
DocumentRoot“D:/ xampp / htdocs / asd”
ServerName asd.com.br
ServerAlias asd.com.br
ErrorLog“logs / asd.log”
CustomLog“logs / asd.log”合并
答案 4 :(得分:0)
同样在httpd.conf文件中为ServerName设置ip对我有用
ServerName 127.0.0.1:80