How to redirect single url in nginx?

前端 未结 3 1965
我在风中等你
我在风中等你 2020-12-02 05:09

I\'m in the process of reorganizing url structure. I need to setup redirect rules for specific urls - I\'m using NGINX.

Basically Something like this:

<         


        
相关标签:
3条回答
  • 2020-12-02 05:25

    If you need to duplicate more than a few redirects, you might consider using a map:

    # map is outside of server block
    map $uri $redirect_uri {
        ~^/issue1/?$    http://example.com/shop/issues/custom_isse_name1;
        ~^/issue2/?$    http://example.com/shop/issues/custom_isse_name2;
        ~^/issue3/?$    http://example.com/shop/issues/custom_isse_name3;
        # ... or put these in an included file
    }
    
    location / {
        try_files $uri $uri/ @redirect-map;
    }
    
    location @redirect-map {
        if ($redirect_uri) {  # redirect if the variable is defined
            return 301 $redirect_uri;
        }
    }
    
    0 讨论(0)
  • 2020-12-02 05:29

    Put this in your server directive:

    location /issue {
       rewrite ^/issue(.*) http://$server_name/shop/issues/custom_issue_name$1 permanent;
     }
    

    Or duplicate it:

    location /issue1 {
       rewrite ^/.* http://$server_name/shop/issues/custom_issue_name1 permanent;
    }
    location /issue2 {
       rewrite ^.* http://$server_name/shop/issues/custom_issue_name2 permanent;
    }
     ...
    
    0 讨论(0)
  • 2020-12-02 05:33
    location ~ /issue([0-9]+) {
        return 301 http://example.com/shop/issues/custom_isse_name$1;
    }
    
    0 讨论(0)
提交回复
热议问题