Apache WAMP上的虚拟主机导致本地主机上禁用403。。。其他别名仍然有效
我刚刚意识到,WAMP上的任何其他内容都无法访问,除非它位于虚拟主机别名下。例如:如果我将我的vHost命名为“mysite.dev”,我只能访问mysite.dev,其他所有内容都会给出403禁止的错误。如果在mysite.dev之外添加一个名为anothersite.dev的vHost,则只能访问这些站点。在localhost下,我唯一可以访问的是PHPMyAdmin。我已经取消了Apache httpd.conf文件中包含vHosts.conf的行的注释。在修改vHosts.conf文件之前,此问题不会发生。以下是其他文件的配置: vHosts.conf:Apache WAMP上的虚拟主机导致本地主机上禁用403。。。其他别名仍然有效,apache,wamp,Apache,Wamp,我刚刚意识到,WAMP上的任何其他内容都无法访问,除非它位于虚拟主机别名下。例如:如果我将我的vHost命名为“mysite.dev”,我只能访问mysite.dev,其他所有内容都会给出403禁止的错误。如果在mysite.dev之外添加一个名为anothersite.dev的vHost,则只能访问这些站点。在localhost下,我唯一可以访问的是PHPMyAdmin。我已经取消了Apache httpd.conf文件中包含vHosts.conf的行的注释。在修改vHosts.conf文件之
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "W:/wamp/www/mysite"
ServerName mysite.dev
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
好的,首先,
httpd VHOST.conf
文件(VHOST和vhost2)中的前两个VHOST定义是Apache提供的示例,用于帮助您入门,当然,它们指向不存在的文件夹,应该删除
第二,在创建虚拟主机时,应在
组中包含VHOST的访问权限
第三,您应该始终为本地主机创建VHOST,因为一旦创建VHOST,Apache就会忽略httpd.conf
因此,您的httpd vhost.conf
文件应该如下所示
# Should be the first VHOST definition so that it is the default virtual host
# Also access rights should remain restricted to the local PC and the local network
# So that any random ip address attack will recieve an error code and not gain access
<VirtualHost *:80>
ServerAdmin webmaster@homemail.net
DocumentRoot "W:/wamp/www"
ServerName localhost
<Directory "W:/wamp/www">
AllowOverride All
Require local
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "W:/wamp/www/mysite"
ServerName mysite.dev
ErrorLog "logs/mysite.dev-error.log"
CustomLog "logs/mysite.dev-access.log" common
<Directory "W:/wamp/www/mysite">
Options Indexes FollowSymLinks
AllowOverride All
Require local
</Directory>
</VirtualHost>
然后重新启动dnscache,从一个同样以管理员权限启动的命令行获取这些更改
net stop dnscache
net start dnscache
这篇文章可能会帮助你你是说你可以访问dummy host.example.com`尽管没有匹配的
hosts
条目?你能再检查一下你的配置吗?NameVirtualHost*:80
?
127.0.0.1 localhost
127.0.0.1 mysite.dev
::1 localhost
::1 mysite.dev
net stop dnscache
net start dnscache