nginx 文章目录和分页的永久301重定向

问题:
网站的栏目url变更的访问路径,用户访问的时候需要从旧栏目跳转到新栏目,需要做301永久重定向

如:
访问www.123.com/aaa/ 自动跳转到www.123.com/abc/aaa/

访问访问www.123.com/aaa/1.html 自动跳转到www.123.com/abc/aaa/1.html

nginx规则应该怎么写?

location ~* ^/china/ {

rewrite ^/china/(.*)$ /asia/china/$1 permanent;

}

这样的写法无效,

请熟悉nginx的牛人帮帮忙!

阅读 2.2k
评论
    2 个回答
    • 2k
    location ~* ^/china/ {
        return 301 /asia$request_uri;
    }

    建议用return实现,return只需要在location执行一次正则,全部使用已有的变量。
    rewrite需要多一次正则匹配和捕获,还需要设置新变量,多了内存操作。


    location ~* ^/china/ {
        rewrite ^/china/(.*)$ /asia/china/$1 permanent;
    }

    另外楼主你的写法是正确的,不过rewrite的时候,无法匹配大写字母
    访问/China/1.html就无法rewrite

    改成下方即可

    location ~* ^/china/ {
        rewrite ^/(.*)$ /asia/$1 permanent;
    }
        撰写回答

        登录后参与交流、获取后续更新提醒

        相似问题
        推荐文章