我在创建虚拟主机时遇到问题。我使用的是Windows 7 x64 Professional。在文件C:\Windows\System32\drivers\etc\hosts
中,我只有这一行:
127.0.0.1 myhost
127.0.0.1 www.myhost
在文件C:\xampp\apache\conf\extra\httpd-vhosts.conf
中我有这个:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/"
ServerName localhost
ServerAlias www.localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/Users/Me/Dropbox/Project/public"
ServerName myhost
ServerAlias www.myhost
<Directory "C:/Users/Me/Dropbox/Project/public">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
当然,在这些文件中添加这些行之后,我已经重新启动了我的Apache服务器。
在我的浏览器中不幸地输入myhost
或www.myhost
会将我重定向到myhost/xampp
。
我已经搜索过了,我已经在google上找到了,还有stackoverflow描述如何使用xampp配置虚拟主机,但我怎么能认识到我已经做好了一切。我知道我的问题并不新鲜,但我没有为我找到有效的解决方案。
我也认识到在我的浏览器中输入localhost
会将我重定向localhost/xampp
。我不知道这些问题是否与我的情况有关。
答案 0 :(得分:49)
我有同样的问题。您的第一个请求是重定向到htdocs根目录。如果你查看htdocs目录中的index.php,你可以看到非常简短的代码,它接收传入的请求并将其重定向到xampp目录。
我通过摆弄httpd-vhosts.conf文件来修复它。在您的情况下,请尝试进行以下编辑:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
DocumentRoot "C:\xampp\htdocs\
ServerName localhost
</VirtualHost>
<VirtualHost www.myhost>
DocumentRoot "C:\Users\Me\Dropbox\Project\public"
ServerName www.myhost
ServerAlias www.myhost
<Directory "C:\Users\Me\Dropbox\Project\public">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
答案 1 :(得分:2)
我有一个类似的问题,发现我必须转到我的Apache24主httpd.conf文件并取消注释第501行和#34;包括conf / extra / httpd-vhost.conf&#34; 我之前从未使用过它,它仍然被淘汰了。希望这有助于任何人在这里找不到其他答案。我的Apache24现在可以看到我的vhost文件。
答案 2 :(得分:1)
您需要启用基于名称的虚拟主机。
在C:\ xampp \ apache \ conf \ extra \ httpd-vhosts
中靠近文件顶部取消注释 #NameVirtualHost *:80
即。从:
#
# Use name-based virtual hosting.
#
#NameVirtualHost *:80
要:
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
(注意现在最后一行是未注释的。)
对我来说就像一个魅力。 :)
答案 3 :(得分:1)
尝试
[文件:C:\ xampp \ apache \ conf \ extra \ httpd-vhosts.conf]
<VirtualHost basic.test:80>
DocumentRoot "C:/xampp/htdocs/basic/public/"
ServerName basic.test
</VirtualHost>
[文件:C:\ Windows \ System32 \ drivers \ etc \ hosts] (以管理员身份打开)
127.0.0.1 basic.test
127.0.0.1 localhost
答案 4 :(得分:0)
对我来说,将这<VirtualHost *:80>
替换为<VirtualHost 127.0.0.1:80>
可以正常工作。