配置 apache 以“覆盖”默认文件位置

配置 apache 以“覆盖”默认文件位置

问题是:我是否可以以某种方式配置 Apache 以使用备用目录,或者先搜索备用目录,如果找到文件,则使用该文件而不是原始文件。

假设我有一个这样的配置:

/var/www/mysite/images/somefile.jpg

也:

/var/www/custom_theme/images/somefile.jpg

现在,第二个位置的文件可能存在也可能不存在。如果存在,我希望使用该文件而不是 中的文件mysite。这可能与 Apache 虚拟主机配置有关吗(custom_theme文件夹将根据用于访问站点的域而有所不同)?

答案1

假设/var/www/是你的文档根目录,因此:我的网站以及:自定义主题目录是直接和公开可访问的,那么您可以通过重写规则实现您想要的,例如

RewriteEngine On

RewriteCond %{REQUEST_URI}                  ^/mysite/images/([^/]+\.jpg)$              
RewriteCond /var/www/custom_theme/images/%1 -f
RewriteRule .*                              /custom_theme/images/%1 [L]

相关内容