windows7中Apache上的虚拟主机

Posted

技术标签:

【中文标题】windows7中Apache上的虚拟主机【英文标题】:virtual host on Apache in windows7 【发布时间】:2014-06-15 14:28:23 【问题描述】:

当我尝试在apache(xampp) in windows7 - x64 上配置我的虚拟主机时。

我放了这样的东西,

NameVirtualHost *:80

<VirtualHost *:80>
   DocumentRoot "C:/xampp/htdocs/projects/mysite/public"
   ServerName www.mysite.com 
   ErrorLog "logs/www.mysite.com-error.log"
   CustomLog "logs/www.mysite.com-access.log" common
</VirtualHost>

在我的主机文件 (C:\Windows\System32\drivers\etc\hosts) 中我放了这样的内容,

127.0.0.1       localhost
127.0.0.1       mysite.com

我在浏览器上运行它,

http://www.mysite.com -

找不到服务器

Firefox 在www.mysite.com 找不到服务器。

我错过了要配置的东西吗?任何想法..

【问题讨论】:

mysite.comwww.mysite.com 不同。您是否也将后者添加到您的主机文件中? @jeroen:是的,我添加了它。 你重启网络服务器了吗? @jeroen : 我刚刚从 xampp 控制面板停止了 apache,然后启动了它 @jeroen:我应该将“127.0.0.1 mysite.com”更改为“127.0.0.1 www.mysite.com”吗? 【参考方案1】:

试试这个..

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName mysite.com 
    ServerAlias www.mysite.com
    DocumentRoot "C:/xampp/htdocs/projects/mysite/public" #Make sure that your httpd.conf file has DocumentRoot set to your htdocs folder or the folder in which your site is in.
    CustomLog logs/site.com.access.log combined
    ErrorLog logs/site.com.error.log
</VirtualHost>

【讨论】:

当我在我的网址中写localhost 时,它转到projects/mysite/public。为什么? 当我在我的网址中写mysite.com 时,它不会转到projects/mysite/public。为什么?! 因为在你的虚拟主机文件projects/mysite/public目录下是第一个站点。如果您将其他站点移到顶部,则 localhost 将打开它。始终使用您在虚拟主机文件中定义的服务器别名或服务器名称来获取您想要的站点。但是,如果您键入 localhost 没关系,但它总是会将您重定向到虚拟主机文件中定义的第一个站点。 我将 DocumentRoot "C:/xampp/htdocs/" ServerName localhost ServerAlias www.localhost 添加到 httpd-vhosts.conf ,现在我可以访问 localhost 【参考方案2】:

您的主机文件需要是

    127.0.0.1       localhost
    127.0.0.1       mysite.com
    127.0.0.1       www.mysite.com

因为 mysite.com 和 www.mysite.com 不一样。我建议将 ServerAlias 添加到您的 vhost.conf 并更改 ServerName

    NameVirtualHost *:80

    <VirtualHost *:80>
       DocumentRoot "C:/xampp/htdocs/projects/mysite/public"
       ServerName mysite.com
       ServerAlias www.mysite.com 
       ErrorLog "logs/www.mysite.com-error.log"
       CustomLog "logs/www.mysite.com-access.log" common
    </VirtualHost>

【讨论】:

我从 xampp 控制面板停止了 apache,然后启动了它。错误:找不到服务器 当我在我的 url 中写入 localhost 时,它会转到 projects/mysite/public。当我在我的 url 中写入 mysite.com 时,它不会转到 projects/mysite/public。为什么?!

以上是关于windows7中Apache上的虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章

在 Xampp Windows 10 中创建虚拟主机

Windows 10 上的 Apache 2.4.46 虚拟主机

如何在 Windows 7 上的 C++ 中为虚拟文件夹创建快捷方式?

我的虚拟主机上的 Apache 500 内部服务器错误 [关闭]

我的虚拟主机上的 Apache 500 内部服务器错误 [关闭]

为 apache 添加虚拟主机