Apache 相同的端口,但不同的根

Apache 相同的端口,但不同的根,apache,redirect,Apache,Redirect,我打开一个端口,比如说81端口来监听传入的请求 如果传入的请求是www.myexample.com,那么我想将其重定向到 C:\myexamplemain 文件夹 如果传入的请求是blog.myexample.com,那么我想将其重定向到 C:\myexampleblog 文件夹 考虑到www.myexample.com和blog.myexample.com有很多重定向规则,我必须为这两个文件创建一个单独的VirtualHost文件。所以我需要一个单独的配置文件来解析DocumentRo

我打开一个端口,比如说81端口来监听传入的请求

如果传入的请求是www.myexample.com,那么我想将其重定向到

C:\myexamplemain 
文件夹

如果传入的请求是blog.myexample.com,那么我想将其重定向到

C:\myexampleblog 
文件夹


考虑到
www.myexample.com
blog.myexample.com
有很多重定向规则,我必须为这两个文件创建一个单独的VirtualHost文件。所以我需要一个单独的配置文件来解析DocumentRoot。如何最好地做到这一点?

最好的方法是通过

NameVirtualHost*:81
DocumentRoot C:\myexamplemain
服务器名www.myexample.com
DocumentRoot C:\myexampleblog
ServerName blog.myexample.com

这些文件是什么并不重要。Apache处理其配置时,就好像所有配置都在一个文件中一样。您可以将一个位放入一个文件中,将另一个虚拟主机位放入另一个文件中,这样就可以了。

最好的方法是通过

NameVirtualHost*:81
DocumentRoot C:\myexamplemain
服务器名www.myexample.com
DocumentRoot C:\myexampleblog
ServerName blog.myexample.com

这些文件是什么并不重要。Apache处理其配置时,就好像所有配置都在一个文件中一样。您可以将一个位放在一个文件中,将另一个虚拟主机位放在另一个文件中,这样就可以了。

是否需要将名称virtualhost*:81放在顶部,或者放在加载到任一虚拟主机之前的某个apache配置文件中?是的,这也是必需的。我把它添加到了我的答案中。这不需要在顶部的名称virtualhost*:81,或者在任何一个虚拟主机之前加载的apache配置文件中的某个位置吗?是的,这也是必需的。我把它添加到我的答案中。
NameVirtualHost *:81

<VirtualHost *:81>
    DocumentRoot C:\myexamplemain
    ServerName www.myexample.com
</VirtualHost>

<VirtualHost *:81>
    DocumentRoot C:\myexampleblog
    ServerName blog.myexample.com
</VirtualHost>