启用 httpd-vhosts.conf 后 WAMP 服务器未运行

Posted

技术标签:

【中文标题】启用 httpd-vhosts.conf 后 WAMP 服务器未运行【英文标题】:WAMP server not running after enabling httpd-vhosts.conf 【发布时间】:2012-05-02 03:17:47 【问题描述】:

我尝试在我的 WAMP 安装上启用虚拟主机,但如果我启用 http-vhosts.conf,WAMP 服务器将无法运行,并且图标仍为橙色。

这是我的主机文件:

127.0.0.1       localhost
127.0.0.1       test.localhost

我的 httpd.conf:

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

还有我的 httpd-vhosts.conf:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" common
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/test"
    ServerName test.localhost
</VirtualHost>

如果我将 VirtualHosts 添加到我的 httpd.conf 中它工作正常,但我注意到如果我注释掉“包含 conf/extra/httpd-vhosts.conf”,Apache 服务器将不会运行。是什么导致了这个问题?

谢谢,

【问题讨论】:

转到你的apache文件夹,从命令行运行httpd.exe,它会显示错误。 您可能会在 serverfault.com 上获得更好的帮助 - 这个网站更适合实际的编程。 你为什么要注释掉“包含conf/extra/httpd-vhosts.conf”,你不想取消注释吗?另外,请检查您的错误日志。 【参考方案1】:

要确定发生错误的确切行,请执行以下步骤:

    转到开始菜单 键入“cmd” 按回车 粘贴以下C:\wamp\bin\apache\apache2.2.22\bin\httpd.exe

注意:您可能需要根据您的本地 Apache 版本调整路径的 apache2.2.22 部分。

【讨论】:

【参考方案2】:

你只需要像这样改变它:一切都会好的。

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
#    DocumentRoot "c:/wamp/www"
    ServerName localhost
#    ErrorLog "logs/localhost-error.log"
#    CustomLog "logs/localhost-access.log" common
</VirtualHost>
<VirtualHost *:80>
#    DocumentRoot "c:/wamp/www/test"
#    ServerName test.localhost
</VirtualHost>

如果有人对目录有错误,他可能需要修改如下:

<VirtualHost 127.0.0.1>
#    DocumentRoot 'c:\wamp\www\media_weber_edu\public'
     ServerName media.weber.dev
#    <Directory 'c:\wamp\www\media_weber_edu\public'>
#        Options Indexes FollowSymLinks MultiViews
#       AllowOverride all
#    <\Directory>
</VirtualHost>

注意:Apache 不允许多个 &lt;Directory&gt; 参数!

【讨论】:

【参考方案3】:

好吧,我觉得这是我的责任……

我也疯狂地检查表格和做类似的事情

Listen *:80 & NameVirtualHost *:80 但发现没必要,默认设置对我来说没问题。

当我尝试放入我的虚拟主机声明时问题就开始了

<VirtualHost 127.0.0.1>
    DocumentRoot 'c:\wamp\www\media_weber_edu\public'
    ServerName media.weber.dev
    <Directory 'c:\wamp\www\media_weber_edu\public'>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
    <\Directory>
</VirtualHost>

问题出在这里

&lt;\Directory&gt;&lt;/Directory&gt;

运行C:\wamp\bin\apache\apache2.2.22\bin\httpd.exe

这给了我这样的错误

httpd.exe: Syntax error on line 469 of C:/wamp/bin/apache/apache2.2.22/conf/httpd.conf: Syntax error on line 42 of C:/wamp/bin/apache/apache2.2.22/conf/extra/httpd-vhosts.conf: Expected </\\Directory> but saw </VirtualHost>

所以这可能不是确切的问题,但我希望这对未来的人有所帮助。所以深呼吸...把头发粘在头上...一切都会好的:)

【讨论】:

运行 httpd.exe 的好技巧!

以上是关于启用 httpd-vhosts.conf 后 WAMP 服务器未运行的主要内容,如果未能解决你的问题,请参考以下文章

apache2.4配置虚拟主机

Apache虚拟主机配置

centos6.2安装好lamp环境后,要配置虚拟主机的目录 但是找不到apache下的httpd-vhosts.conf

wamp 配置虚拟主机

Apache配置本地域名

解决Apache配置虚拟主机时出现403错误的问题