我正在尝试在localhost上的apple mac上设置虚拟主机。该服务器由XAMPP提供,它将Apache / MySQL / PHP捆绑在一起。
这是我到目前为止所做的:
edited / private / etc / hosts包含127.0.0.1以指向test.myserver.local
127.0.0.1 test.myserver.local
编辑/Applications/XAMPP/etc/extra/httpd-vhosts.conf以包含我的虚拟主机详情
<VirtualHost *:80>
DocumentRoot /Users/???/Documents/workspace/trunk/htdocs
ServerName test.myserver.local
<Directory "/Users/???/Documents/workspace/trunk/htdocs">
AllowOverride All
</Directory>
</VirtualHost>
在其中放置一个简单的index.html,其中包含单词test。
我已经重新启动了服务器,然后浏览到测试网址,使用Apache的默认页面而不是我的测试页面。 vhosts文件适用于另一个虚拟主机,代码复制时各个位已更改(即文件夹路径),hosts文件正常工作,因为当Apache关闭时,我的浏览器显示服务器未找到。
为什么Apache拒绝出现我的测试代码?我需要更改其他文件吗?我想不到任何其他人,通常只是那些在Linux / windows上。
答案 0 :(得分:6)
在xampp上,您需要编辑3个文件来设置虚拟主机
/ etc / hosts和/Applications/XAMPP/etc/extra/httpd-vhosts.conf就像你一样。但您还需要编辑/Applications/XAMPP/xamppfiles/etc/httpd.conf以包含http-vhosts.conf
确保您已取消注释此行
# Virtual hosts
Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf
修改
您是否尝试添加此行
Order allow,deny
Allow from all
在
之前AllowOverride All
答案 1 :(得分:0)
您是否告诉Apache实际使用基于名称的虚拟主机?
# Use name-based virtual hosting.
#
NameVirtualHost *:80
我不相信它在Mac上的Xampp默认启用。
答案 2 :(得分:0)
尝试在“httpd-vhosts.conf”文件的末尾保留“localhost”的设置, 即:
#
# Virtual Hosts
#
...
# others vhost
<VirtualHost *:80>
...
</VirtualHost>
# localhost
<VirtualHost *:80>
ServerName localhost
DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs"
<Directory "/Applications/XAMPP/xamppfiles/htdocs">
Options Indexes FollowSymLinks Includes execCGI
AllowOverride All
Order Allow,Deny
Allow From All
</Directory>
</VirtualHost>
#end of httpd-vhosts.conf file
为我工作,问候!