如何在Apache上configuration多个目录?

我正在与Apache2的Ubuntu的工作。

要求

  1. 根目录应该来自特定的文件夹。 当有人访问http://mysite.com/foo1时,他应该到达/var/www/tld/foo1
  2. 其他目录作为子站点:当某人访问http://mysite.com/subsite/foo2时,他应该到达/var/www/subsite/foo2
  3. 我希望能够为某些操作configuration特定的快捷方式。 例如通过添加一个自定义规则,我想http://mysite.com/foo3到达http://mysite.com/subsite/foo3 (不像#1,这不是全球性的,但只是通过添加特定的路线)。

什么是达到这个目的的最好方法? 我应该有一个不同的文件在每个“子网站” apache/site-enabled ? 还是应该使用<Directory> ? 我如何configurationmod_rewrite来实现这个?

虚拟主机只有一个文档path; Apache没有“子网站”的概念。

虚拟文件

您可以通过添加一个指向文件path之外的文件系统位置的别名来做出例外,但请注意您以什么顺序定义这些:第一个匹配成功,因此您应该从最具体到最不具体的顺序排列它们。

别名文档

最后一个问题更多的是一个不好的网站布局的情况,但你可以为它发出一个redirect:

 Redirect /foo3/ /subsite/foo3/ 

在apache中没有名为mod_routing的模块。

如果所有URL都托pipe在相同的域/ IP地址下,则可以使用mod_rewrite根据您指定的规则重写URL。