将不同的ServerPath映射到具有相同地址的不同DocumentRoot

将不同的ServerPath映射到具有相同地址的不同DocumentRoot

我在内部网中使用 Apache 服务器来访问报告。我想使用相同的服务器名称将服务器路径映射到恰好是文件共享的不同文档根目录。

使用 VirtualHost 可以实现这个功能吗?

<VirtualHost *:80>
    ServerPath /path1
    DocumentRoot remote-share
    ServerName servername
</VirtualHost>

<VirtualHost *:80>
    ServerPath /path2
    DocumentRoot remote-share
    ServerName servername
</VirtualHost> 

<Directory /path1>
    Options Indexes
</Directory>

<Directory /path2>
    Options Indexes
</Directory>

在这种情况下,path1 有效但覆盖了 path2,因此 path2 永远不起作用 - 可能是因为它是同一个虚拟主机 - 但同样,我需要有相同的地址,只是不同的子文件夹映射到不同的 DocumentRoots。

答案1

您可以尝试使用mod_aliasAlias指令

<VirtualHost *:80>
  ServerName servername
  DocumentRoot /dummy/path
  Alias /path1 /path/to/mounted/fs/path1
  Alias /path2 /path/to/other/fs/path2
</VirtualHost>

http://httpd.apache.org/docs/2.2/mod/mod_alias.html#alias了解详情。

相关内容