我在设置新项目时遇到问题。我刚刚安装了 wamp 2.2E。我使用的是 Windows XP。在文件夹 /www 中,我创建了文件夹 /example。在 WINDOWS/system32/drivers/etc/hosts 中,我添加了
127.0.0.1 dev.example.com
并在 G:\wamp\bin\apache\apache2.2.22\conf\extra\httpd-vhosts.conf 最后添加
NameVirtualHost dev.example.com:80
<VirtualHost dev.example.com:80>
DocumentRoot "G:/wamp/www/example"
ServerName dev.example.com
ServerAlias dev.example.com
<Directory "G:/wamp/www/example">
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Order allow,deny
Allow from All
</Directory>
</VirtualHost>
问题是,当我访问 dev.example.com/index.php 时,我仍然从 www/index.php 而不是 www/example/index.php 获取内容。我遗漏了什么吗?
答案1
可能是您在更改之后没有重新启动 Apache 服务器?
这是我自己的一个虚拟主机:
首先,您需要在 httpd-vhosts.conf 文件的开头添加:
NameVirtualHost *:80
然后是 vhost 定义本身:
<VirtualHost *:80>
DocumentRoot "C:/WEB/DOCUMENT_ROOT/www_foxmask/www/"
ServerName foxmask.localhost
<Directory "C:/WEB/DOCUMENT_ROOT/www_foxmask/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
CustomLog "C:\WEB\DOCUMENT_ROOT\apache_logs\www_foxmask.log" common
ErrorLog "C:\WEB\DOCUMENT_ROOT\apache_logs\www_foxmask-error.log"
</VirtualHost>
注意:在您的 httpd.conf 中您应该有此行以确保 httpd-vhosts.conf 正常工作:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
文件的路径取决于您的安装
希望这能有所帮助
答案2
问题出在我漏掉了一步。在文件:G:\wamp\bin\apache\Apache2.2.22\conf\httpd.conf 中找到:#Include conf/extra/httpd-vhosts.conf 并删除 #
答案3
尝试VirtualHost *:80
ServerAlias
据我所知,DNS名称已被占用。
如果您有一个ServerAlias
仅作为通配符,请在条目之前*
设置。dev.example.com
*