我正在尝试让动态虚拟主机工作,遵循文档,但它没有完全奏效。
这些是来自我的HOSTS文件的域名:
127.0.0.1 walestourism.local.co.uk
127.0.0.1 www.walestourism.local.co.uk
127.0.0.2 walestourism.local.co.uk
127.0.0.2 www.walestourism.local.co.uk
这是来自httpd.conf:
NameVirtualHost 127.0.0.2
<VirtualHost 127.0.0.2>
ServerName www.walestourism.local.co.uk
ServerAlias walestourism.local.co.uk
DocumentRoot /www/walestourism.local.co.uk
ScriptAlias /cgi-bin/ /www/walestourism.local.co.uk/cgi-bin
</VirtualHost>
在我所有的其他代码中,上述代码的VirtualHost部分总是*:80。
我在httpd.conf中有这段代码:
<Directory C:/www/vhosts>
Order Deny,Allow
Allow from all
AllowOverride All
</Directory>
<Directory C:/www/vhosts1>
Order Deny,Allow
Allow from all
AllowOverride All
</Directory>
<Directory C:/www/vhosts.www>
Order Deny,Allow
Allow from all
AllowOverride All
</Directory>
<Directory C:/www/test2>
Order Deny,Allow
Allow from all
AllowOverride All
</Directory>
<Directory C:/www/>
Order Deny,Allow
Allow from all
AllowOverride All
</Directory>
我应该如何修复此错误,因为当我输入域名时,我会看到http://localhost的内容?这是我尝试使用动态虚拟主机添加域时遇到的基本问题。
另外,如果我将浏览器指向“http:// localhost /”,我会得到默认的“It Works!”页面,所以我知道我的服务器正在运行,这肯定与vhosts配置有关。
我检查了我的错误日志 - 没有错误因此,所以为什么每个域都指向localhost,即使有为它们配置的文件夹(/ www /在这种情况下是C:/ www,我的Apache / webserver的目录)。
我是Apache的这个领域的新手,尽管有一个下午谷歌搜索,我不知道如何解决这个问题。
我决定尝试这样做以避免做cmd&gt;每次我添加一个新的虚拟主机进行测试时,httpd -k都会重启,但我做错了吗?
我在使用Windows 7的Apache 2.2上使用PHP 5.28 [在此提及规范]。
我该怎么办?
非常感谢所有建议!
答案 0 :(得分:0)
当您使用基于命名的虚拟主机时,请不要使用127.0.0.2 ...只需将其全部保留到127.0.0.1 ...如果失败,请检查error_log中的apache(在httpd.conf中定义)麻烦拍摄为什么它失败了。
此外,在开始使用PHP之前,让Apache2使用VHosts 在Windows上运行...
根据http://httpd.apache.org/docs/2.0/vhosts/examples.html:
# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example1.com
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example2.org
# Other directives here
</VirtualHost>
答案 1 :(得分:0)
如果虚拟主机配置错误,通常会发生这种情况。当你在Windows上我不知道如何测试你的配置,在linux上你会做类似的事情:
/etc/init.d/httpd configtest
尝试从命令行启动apache,看看是否有任何错误。如果Apache作为服务安装,您可以在Windows应用程序事件日志中看到启动错误。