根据 URL 路径设置 Apache2 为同一域上的多个目录提供服务

Ben*_*ack 6 linux virtualhost apache-2.2

我想在 Ubuntu Linux 上使用 Apache2 在同一个 IP、同一个服务器和同一个域上托管两个不同的站点。假设我有以下代表将提供内容的站点的目录:

/srv/www/blog/          #for the blog
/srv/www/mainsite/      #for the main site
Run Code Online (Sandbox Code Playgroud)

我想设置 Apache2 以便以下适用:

  1. 当用户访问时,http://mysite.com/他们会从/srv/www/mainsite/.
  2. 当用户访问时http://mysite.com/blog,他们会收到来自/srv/www/blog/.

我原以为我要设置多个虚拟主机,但似乎只适用于不同的域和/或 IP。我需要在我的 apache2 配置中做什么才能实现上述功能?

Sha*_*den 10

在您的<VirtualHost>:

DocumentRoot /srv/www/mainsite
<Directory /srv/www/mainsite>
    Order Allow,Deny
    Allow from all
</Directory>

Alias /blog /srv/www/blog
<Directory /srv/www/blog>
    Order Allow,Deny
    Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

如果您已经有一个覆盖的目录块,请忽略/srv/www- 我只是将它们放入其中以表明您需要 Apache 的访问控制来允许访问两者。