鍍金池/ 問答/Linux  網(wǎng)絡(luò)安全  HTML/ nginx 文章目錄和分頁的永久301重定向

nginx 文章目錄和分頁的永久301重定向

問題:
網(wǎng)站的欄目url變更的訪問路徑,用戶訪問的時候需要從舊欄目跳轉(zhuǎn)到新欄目,需要做301永久重定向

如:
訪問www.123.com/aaa/ 自動跳轉(zhuǎn)到www.123.com/abc/aaa/

訪問訪問www.123.com/aaa/1.html 自動跳轉(zhuǎn)到www.123.com/abc/aaa/1.html

nginx規(guī)則應(yīng)該怎么寫?

location ~* ^/china/ {

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

}

這樣的寫法無效,

請熟悉nginx的牛人幫幫忙!

回答
編輯回答
冷眸
2018年7月29日 23:19
編輯回答
萌面人
location ~* ^/china/ {
    return 301 /asia$request_uri;
}

建議用return實現(xiàn),return只需要在location執(zhí)行一次正則,全部使用已有的變量。
rewrite需要多一次正則匹配和捕獲,還需要設(shè)置新變量,多了內(nèi)存操作。


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

另外樓主你的寫法是正確的,不過rewrite的時候,無法匹配大寫字母
訪問/China/1.html就無法rewrite

改成下方即可

location ~* ^/china/ {
    rewrite ^/(.*)$ /asia/$1 permanent;
}
2017年11月22日 09:04