使用Apache2从同一个URL向web根外的多个目录提供服务

是否可以设置Apache来从同一个URL提供多个目录?

例如,假设我有两个位置的映像:/ mnt / imagestore1,/ mnt / imagestore2。 我想mysite.com/images/file.jpg显示从任一目录的图像。

它似乎不像以下这样的别名:

Alias /images /mnt/imagestore1 Alias /images /mnt/imagestore2 

而在文档根目录下使用mod_rewrite和.htaccess也没有起作用,尽pipe我对mod_rewrite的理解可能不在这里:

 RewriteCond /mnt/imagestore1/%{REQUEST_URI} -f RewriteRule ^(.+) /mnt/imagestore1/$1 [L] RewriteCond /mnt/imagestore2/%{REQUEST_URI} -f RewriteRule ^(.+) /mnt/imagestore2/$1 [L] 

我有这个工作通过mod_rewrite。 我直接更新了虚拟主机configuration,而不是使用.htaccess文件。 我相信它可以通过.htaccess工作,但我的重写规则是有点(注意丢失/)。 还需要为图像目录添加目录声明。

虚拟主机看起来如下:

 DocumentRoot /var/www/html <Directory /var/www/html> Order allow,deny Allow from all </Directory> RewriteEngine on RewriteCond "/mnt/imagestore1%{REQUEST_URI}" -f [OR] RewriteCond "/mnt/imagestore1%{REQUEST_URI}" -d RewriteRule ^/?(.*)$ /mnt/imagestore1/$1 [L] RewriteCond "/mnt/imagestore2%{REQUEST_URI}" -f [OR] RewriteCond "/mnt/imagestore2%{REQUEST_URI}" -d RewriteRule ^/?(.*)$ /mnt/imagestore1/$1 [L] <Directory /mnt/imagestore1> Order allow,deny Allow from all </Directory> <Directory /mnt/imagestore2> Order allow,deny Allow from all </Directory> 

别名不会那样工作。 第一场比赛将由阿帕奇考虑,第二场被忽略。 看这里:

https://httpd.apache.org/docs/2.4/mod/mod_alias.html

..别名和redirect按照它们在configuration文件中出现的顺序处理,第一个匹配优先。

并回答你的问题:这是出于同样的原因,不可能从同一个url提供多个目录。