Apache 虚拟主机

7 virtualhost apache-2.2

我似乎在使用 Apache 中的虚拟主机时遇到了一些麻烦。

我在 Windows 中将 127.0.0.1 www.mysite.com 添加到我的主机文件中,我看到我的 Web 服务器正常。

然后我将以下内容添加到我的 conf 文件中,作为最后,我不知道它的去向是否重要!

NameVirtualHost *

<VirtualHost *> 
ServerName unknown
DocumentRoot "C:/xampplite/htdocs"
</VirtualHost> 

<VirtualHost www.mysite.com> 
ServerName www.mysite.com
DocumentRoot "C:/xampplite/htdocs/mysite"
</VirtualHost> 
Run Code Online (Sandbox Code Playgroud)

所以我想要实现的是去 www.mysite.com 会调出 /mysite 文件夹和其他任何东西 - 或者只是去 127.0.0.1 将默认回到主 htdocs 文件夹。

但事实并非如此。

这一切最终都会进入 mysite 文件夹。

查看启动时发生的错误日志:

[Tue Sep 13 19:45:08 2011] [error] VirtualHost _default_:443 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
Run Code Online (Sandbox Code Playgroud)

为了记录,我听端口 80 和 1337 一样蹩脚。

小智 12

试试这个配置:

DocumentRoot "C:/xampplite/htdocs/"

<VirtualHost *:80>
    ServerName www.mysite.com
    ServerAlias www.mysite.com
    DocumentRoot "C:/xampplite/htdocs/mysite"
    <Directory "C:/xampplite/htdocs/mysite">
        allow from all
        Options +Indexes
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

因此,当您使用时:127.0.0.1它将转到默认值,DocumentRoot ("C:/xampplite/htdocs/")而在您使用www.mysite.com时将转到:"C:/xampplite/htdocs/mysite"。你不需要NameVirtualHost