【发布时间】:2021-05-05 16:34:47
【问题描述】:
我刚刚设置了一个新的子域“预览”,即 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
【问题讨论】:
-
preview.example.com的DocumentRoot和www.example.com的一样吗? -
...或者这两个主机名指向文件系统的哪个位置?虽然您可以从外部重定向请求,但这很慢,并且会使访问服务器的请求数量增加一倍。您的
.htaccess文件中还有哪些其他指令? -
@anubhava DocumentRoot 未设置。这是个问题吗?
-
@AdamJones:如果
DocumentRoot文件夹是分开的但在同一主机上,那么您可以创建wp-content/uploads/的符号链接并避免进行任何重定向。 -
@anubhava 啊,谢谢!如果你想写一个答案,请随意;)
标签: .htaccess redirect mod-rewrite url-rewriting http-status-code-301