我可以通过 mod 重写功能将其设置为不同的文档根目录吗?

我可以通过 mod 重写功能将其设置为不同的文档根目录吗?

给定一个 URL:

http://example.com/some-file.zip

文档根目录example.com/var/www/example.com/

我想要 Apache:

  1. 如果/var/www/example.com/some-file.zip存在,则提供该服务。
  2. 如果/var/www/example.com/some-file.zip不存在,请检查/var/www/shared/some-file.zip
  3. 如果/var/www/shared/some-file.zip不存在,则发送 404

这可能吗?

我已经研究过 Alias 指令,但我认为这需要我在 URI 中添加一些内容来指示资源的位置。

答案1

对于文件之外的文件DocumentRoot,请查看“DocumentRoot 之外的文件“——您正在考虑创建一个Alias,并且您可能无需重定向即可完成此操作。

答案2

RewriteCond %{DOCUMENT_ROOT}$1 !-f
RewriteRule (.*) /var/www/shared$1 [last]

相关内容