nginx 有没有办法重写外部 url

2017-08-24 19:45:10 +08:00
 Famio
比如我网站加载一个外部资源 bs.baidu.com ,我想重写为 eiv.baidu.com
能否在 nginx 上完成?
感谢
2428 次点击
所在节点    程序员
13 条回复
flowfire
2017-08-24 19:47:36 +08:00
直接替换就行了吧。。。。
Famio
2017-08-24 19:49:38 +08:00
@flowfire 请问 How ?這個外部资源是由一个 api 带出的,我没法从源码直接改。好在我发现了 url 只要 rewrite 一下就可以。
dzxx36gyy
2017-08-24 20:12:57 +08:00
用 ngx_http_substitutions_filter_module 直接替换
DingSoung
2017-08-24 21:07:08 +08:00
试试
server {
listen 80;
listen [::]:80;
server_name bd.baidu.com;
return 301 http://eiv.baidu.com;
}
v1024
2017-08-24 21:09:17 +08:00
作为代理可以用三楼的方法,其他不可能。
v1024
2017-08-24 21:10:50 +08:00
更正:不是代理也可以。但为什么不直接源码里改一下
Famio
2017-08-24 21:14:47 +08:00
@v1024 我在 2 楼有说明,如果能改我就不会这么麻烦了,我先试试 3#的方法把
maowu
2017-08-24 21:23:34 +08:00
这个“由 api 带出来”是怎么个带法?在请求结果的 header 还是 body ?
crysislinux
2017-08-24 21:23:35 +08:00
这个包含这个链接的文件是不是在你的服务器上,要是在别人的服务器上,你是没办法的。。
Tink
2017-08-24 21:37:41 +08:00
直接替换呗
codermagefox
2017-08-24 21:45:07 +08:00
楼主可以访问一下我的博客 blog.codermagefox.com ,
然后看看 url...
有惊喜.
应该就是你这个需求了
fcka
2017-08-24 22:10:06 +08:00
在自己后端中转一下
bear2017
2017-08-25 01:01:57 +08:00
nginx 代理或者后端中转一下,不知道后端用什么语言。建议直接贴图,贴代码~

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

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

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

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

© 2021 V2EX