问题描述
我刚刚设置了一个新的子域“预览”,即 preview.example.com,我正在设置一个实时网站(来自 www. 子域)的代码库的副本,以便我可以拥有一个重复的环境用于测试和显示我的客户最近的更改。
我想让自己不必将所有图像复制到预览中,因此在 wordpress 网站中保存图像的正常位置 /wp-content/uploads/ 是空的。我想使用一个简单的 htaccess 规则,而不是从相同路径上的图像将存在的实时子域中获取这些。换句话说,请求
https://preview.example.com/wp-content/uploads/2021/01/test.jpg
将被重定向到图像存在的以下位置..
https://www.example.com/wp-content/uploads/2021/01/test.jpg
我尝试使用最简单的 htaccess 重定向规则来设置它,但它似乎被忽略了,我不知道为什么。知道如何解决这个问题吗?
RedirectMatch 301 /wp-content/uploads/(.*) http://www.example.com/wp-content/uploads/$1
解决方法
将我的评论转换为答案,以便将来的访问者轻松找到解决方案。
场景是子域和主域在同一主机上,但它们的 DocumentRoot
设置为不同的路径。 OP 希望从子域提供大量图像,但不进行批量复制。
不修改 .htaccess
的建议方法是创建 wp-content/uploads/
的符号链接。建议在 .htaccess 中使用的唯一选项是:
Options +FollowSymLinks
允许使用符号链接来处理网络请求。