nginx redirect url to new pattern

前端 未结 2 1071
深忆病人
深忆病人 2021-01-28 17:40

I\'m currently switching my blog from Wordpress to Ghost. There is nginx in front of ghost. After migration i recognized that old urls

http://domain.org/2015/10         


        
相关标签:
2条回答
  • 2021-01-28 18:09

    I would recommend using a map:

    map $uri $redirect_topic {
        "~^/\d{4}/\d{2}/(?<topic>.*)" $topic;
    }
    
    server {
        listen 80;
        server_name domain.org;
    
        if ($redirect_topic) {
            return 301 $scheme://$host/$redirect_topic;
        }
    
        location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header HOST $http_host;
            proxy_set_header X-NginX-Proxy true;
            proxy_pass http://10.240.0.2:2368;
            proxy_redirect off;
        }
    }
    
    0 讨论(0)
  • 2021-01-28 18:14

    I think you should put into server section:

    rewrite ^/[0-9]*/[0-9]*(/.*) $1 last;
    

    But if you've any additional requests maybe would better in a location section (as you wrote).

    About more information see on the official nginx documentation.

    0 讨论(0)
提交回复
热议问题