我使用Wordpress和Nginx创建了一个子域来托管所有图像
我已经更新了数据库以定义所有旧网址,例如; https://exemple.com/wp-content/uploads/2015/06/image_exemple.jpg到https://static.exemple.com/2015/06/image_exemple.jpg效果很好,我现在可以访问媒体,认为这个子域名
默认情况下,子域指向与Wordpress相同的文件夹,用于媒体 / wp-content / uploads /
现在我尝试将整个文件夹重定向到永久重定向到我的子域
location = /wp-content/uploads/ {
rewrite ^(.*)$ https://static.exemple.com/$1 permanent;
}
当我curl -I https://static.exemple.com/
看到标题响应时,它似乎有效;它告诉我 HTTP / 1.1 301永久移动,如果我这样做curl -I https://exemple.com/wp-content/uploads
但是,当我为例如 curl -I https://exemple.com/wp-content/uploads/2015/06/image.jpg 和https://static.exemple.com/2015/06/image.jpg而言,这两个响应都是 HTTP / 1.1 200 OK
它似乎有效,但它确实意味着重定向301适用于文件夹的整个内容..对于信息,文件夹上传/ 有许多子文件夹。
我试过
location = /wp-content/uploads/ {
return 301 https://static/exemple.com/$request_uri;
}
响应相同...... 也许我做错了什么.. 任何帮助将不胜感激
答案 0 :(得分:1)
好的,我解决了这个问题。我发帖给谁想知道我是怎么做的。
解决方案,只需将此行放在服务器块中,而不是放在某个位置。
rewrite ^(/wp-content/uploads)(.*)$ https://static.exemple.com$2 permanent;
现在使用此命令
测试请求curl -I https://exemple.com/2015/06/logo.jpg
您应该看到答案 HTTP / 1.1 301永久移动
和
位置:https://static.exemple.com/2015/06/logo.jpg
无论如何,你可以用wget或其他工具来做到这一点!
wget -d URL