我创建了一个异地存储桶来存储媒体文件。我正在尝试将所有媒体库(旧)文件 URL 重定向到存储桶(新),但需要排除存储桶中不存在的一些子目录。
是否可以编写一个正则表达式规则来复制域和尾部斜杠(olddomain.com/)之后的所有信息,检查它是否有我想要排除的目录,然后将其附加到新域的尾部斜杠之后?
旧
olddomain.com/files/
olddomain.com/files/sub1/
olddomain.com/files/sub2/ *(从匹配中排除)
olddomain.com/files/sub3/ *(从匹配中排除)
新
newdomain.com/files
newdomain.com/files/sub1/
提前致谢。
尝试过...
来源
^/文件/(?!sub2|sub3)(.*)
目标
newdomain.com/$1
从表面上看,您可能忘记了目标中的/files/。 Nginx 设置可能如下所示:
server {
server_name olddomain.com;
location /files/ {
rewrite ^/files/(?!sub2|sub3)(.*)$ https://newdomain.com/files/$1 redirect;
}
}