大佬,反向代理的时候 替换图片的地址应该怎么写?

2023-05-06 16:17:38 +08:00
 joyanhui

图片的原始 url

/?page=logo&xxxxxx

比如替换成

https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png

1603 次点击
所在节点    NGINX
9 条回复
lhbc
2023-05-06 16:20:16 +08:00
没有逻辑,替换啥
写清楚需求再说吧
dj721xHiAvbL11n0
2023-05-06 16:33:42 +08:00
场景是什么呢?
你要是替换前缀还是后缀还是啥?
zuotun
2023-05-06 17:14:20 +08:00
没看出来两个地址之间有什么相似的地方, 这怎么换?
CEBBCAT
2023-05-06 17:43:37 +08:00
像是 URL Rewrite ,Request 的路径和对端的路径要通过演算才能得到对吧?问一下 ChatGPT ,想必可以很快教会你

学会了后记得过来贴一下,帮助更多的人
joyanhui
2023-05-06 17:45:09 +08:00
大概是这个意思

```
location ^~ /?page=logo {
proxy_pass https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png;
}
```
但是具体语法,我不知道如何写。


默认 <img src="/?page=logo&随机数" > 还有一些 background ,还有 js 的 所以不好直接用 html 替换。


我想把图片地址 /?page=logo&随机数 替换为 https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png
joyanhui
2023-05-06 18:00:57 +08:00
rewrite ^/\?page=logo$ http://127.1.1.1/log.jpg permanent;


这样测试了一下也不行
joyanhui
2023-05-06 18:05:41 +08:00
@CEBBCAT 感谢 搞定了

if ($args ~* "page=logo&(.*)$") {
rewrite ^ https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png?$1 permanent;
}
xuanbg
2023-05-06 18:27:55 +08:00
正则匹配 rewrite 就行了
gotosre
2023-05-28 18:28:00 +08:00
如果是页面中的静态资源替换, 用 sub_filter 是不是也可以, 而且少次请求

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/937882

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX