首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
拉钩
V2EX  ›  NGINX

nginx 配置中的 url 怎么拼变量,我这样拼访问不到。

  •  
  •   txwd · 129 天前 · 1063 次点击
    这是一个创建于 129 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如下面的代码:

    set $str '中国'; location / { root D:/nginx-1.14.0/web1; index index.html index.htm; proxy_pass https://www.baidu.com/s?wd=$str; }

    11 回复  |  直到 2018-08-08 00:23:14 +08:00
        1
    txwd   129 天前
    查资料,别人都是这样写的,很奇怪,我这里就不行。
        2
    Xiaobaixiao   129 天前
    楼主用的是 win 服务器?路径符号注意一下
        3
    txwd   129 天前
    @Xiaobaixiao 是 win
        4
    txwd   129 天前
    @Xiaobaixiao 哪里的路径? proxy_pass https://www.baidu.com/s?wd=中国; 这样写是没问题的,就是拼变量有问题。
        5
    Xiaobaixiao   129 天前
    @txwd 这里-------------> root D:/nginx-1.14.0/web1 将 /换成\
        6
    txwd   129 天前
    @Xiaobaixiao 应该不是斜杠的问题。proxy_pass wd=中国; 这样写是没问题的,拼了变量就不行了。我照你说的换了,也是不行。
        7
    cxbig   129 天前
    @txwd 貼 log 出來啊,看看錯誤提示是什麼。包括 nginx 所在機器和 upstream。
        8
    bin456789   129 天前
    set $str '中国';
    set $str2 'https://www.baidu.com/s?wd=${str}';

    试下这样,没测试
        9
    txwd   129 天前
    @cxbig 你好,并没有错误日志。只是页面报 502 了。
        10
    txwd   129 天前
    @bin456789 你好,不行。依旧是 502 Bad Gateway
        11
    randyzhao   129 天前
    str 为什么是定义好的?没大看懂。。。

    不应该是想做成类似这个样子么?

    location / {
    root D:/nginx-1.14.0/web1;
    index index.html index.htm;

    if ($query_string ~* "wd=(.+)$") {
    set $str $1;
    proxy_pass https://www.baidu.com/s?wd=$str;
    }
    }
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1915 人在线   最高记录 4019   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 17ms · UTC 01:55 · PVG 09:55 · LAX 17:55 · JFK 20:55
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1