apache vhost默认值与本地主机问题
不知道如何更好地描述标题。问题是: 我在工作中广泛使用vhost,但有时我只是将一些文件插入localhost/mysite 当我使用vhost(即mysite.local)时,我可以将我的第一个vhost设置为从框中取出的方式,然后将mysite.local vhost块放入:apache vhost默认值与本地主机问题,apache,vhosts,Apache,Vhosts,不知道如何更好地描述标题。问题是: 我在工作中广泛使用vhost,但有时我只是将一些文件插入localhost/mysite 当我使用vhost(即mysite.local)时,我可以将我的第一个vhost设置为从框中取出的方式,然后将mysite.local vhost块放入: <VirtualHost _default_:80> DocumentRoot C:/UniServer/www ServerName localhost ErrorLog "logs/e
<VirtualHost _default_:80>
DocumentRoot C:/UniServer/www
ServerName localhost
ErrorLog "logs/error.log"
CustomLog "logs/access.log" common
</VirtualHost>
<VirtualHost 127.0.0.1>
ServerAdmin webmaster@localhost
ServerName mysite.local
DocumentRoot "C:/UniServer/www/mysite/public_html/"
SetEnv ENVIRONMENT localhost
</VirtualHost>
但如果我想使用localhost/mysite,我必须将其更改为:
<VirtualHost localhost:80>
DocumentRoot C:/UniServer/www
ServerName localhost
ErrorLog "logs/error.log"
CustomLog "logs/access.log" common
</VirtualHost>
这显然是一件痛苦的事情,因为它包括apache重启
我的httpd.conf设置为:
服务器名本地主机
.htaccess似乎不是影响它的因素。如果有人能给我一个线索,我会非常感激的
编辑:应该提到,当我想使用mysite.local时,我不能使用:
<VirtualHost localhost:80>
我必须使用:
<VirtualHost _default_:80>
所以它在两个方向上都被破坏了
谢谢
杰夫看起来你是在windows上这样做的。拿出mysite.local VHost底部的SetEnv,您需要检查两件事: 确保您的主机文件或本地DNS具有指向127.0.0.1的mysite.local条目。windows上的主机文件位于c:\windows\system32\drivers\etc\hosts中 如果这不起作用,请确保设置为命名虚拟主机,例如:
NameVirtualHost *:80
或
嗯,鸡蛋在我脸上-有点
<VirtualHost localhost> for localhost/mysite
及
工作,有或没有端口,只要两者都匹配:80或两者都不匹配
但是
根本不起作用,没有办法,没有方法-它只对mysite.local有好处
这与主机文件有关:
127.0.0.1本地主机
127.0.0.1 mysite.local
如果有人能解释为什么默认值是这样运行的,我会很感兴趣的谢谢-SetEnv与此无关,尽管我仔细检查了主机文件是否正常-抱歉,我忘了提到我尝试过使用&不使用NameVirtualHost*:80,但没有运气。我会再尝试一下哦,只是注意到你的虚拟主机行不匹配。将:80添加到第二个。我应该感谢你的帮助,但这并不是一个语法错误。你的建议与问题无关,请仔细看问题
<VirtualHost localhost> for localhost/mysite
<VirtualHost 127.0.0.1> for mysite.local
<VirtualHost _default_> for localhost/mysite