首页   注册   登录
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 跳转问题

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

    有个简单的 nginx 配置,目前运行没有问题,当前是这样的

    server {
        # 端口和域名
        listen 80;
        server_name localhost;
    
        # static 和 media 的地址
        location /static/ {
            root /opt/izone;
        }
    
        location /media/ {
            root /opt/izone;
        }
    
        # web 服务使用 80 端口,并且添加别名跟本地域名保持一致
        location / {
            proxy_pass http://web:8000;
        }
    
        # 其他配置
        client_max_body_size 1m;
        client_header_buffer_size 128k;
        client_body_buffer_size 1m;
        proxy_buffer_size 32k;
        proxy_buffers 64 32k;
        proxy_busy_buffers_size 1m;
        proxy_temp_file_write_size 512k;
    }
    

    现在我想实现的是当 url 是 /media/avatar/default.png (仅仅是这个 url,其他 media 下的不要跳转)的时候跳转到 /static/blog/img/default.png ,其他的 /media/还是保持原请求,我做了尝试,在现有的配置中添加如下配置

    location /media/avatar/default.png {
            alias /static/blog/img/default.png;
        }
    

    但是发现根本不起作用(我尝试了把这个新添加的配置放到原有的 /media/前面或者后面都不行,对 nginx 真心不熟悉,求个大佬指点一下

    3 回复  |  直到 2019-07-10 11:38:08 +08:00
        1
    taolu   53 天前 via Android
    location = /media/avatar/default.png
    =的优先级最高
        2
    arrow8899   53 天前
    location /media/avatar/default.png {
    rewrite ^/.*$ /static/blog/img/default.png break;
    }
    或者
    location /media/avatar/default.png {
    alias /opt/izone/blog/img/default.png
    }
        3
    liwb2   46 天前
    location = /media/avatar/default.png {
    rewrite ^ /static/blog/img/default.png last;
    }
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2114 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 16ms · UTC 11:55 · PVG 19:55 · LAX 04:55 · JFK 07:55
    ♥ Do have faith in what you're doing.