nginx 去除網址中的 query string

2024111909:10

狀況一:帶有指定變數名稱時,自動移除 query string

當網址中的 query string 帶有這些變數名稱時 utm_ | gclid | fbclid

馬上去除 全部 query string ,並 301轉址

例如:

http://www.abc.com/123.jpg?v=aaa&gclid=22222

會馬上 301 轉址為

http://www.abc.com/123.jpg

**注意,連合法的變數名稱 也會一併去除

location ~ / {
::
    if ($args ~* "(utm_|gclid|fbclid)") {
        rewrite ^(.*)$ $uri? permanent;
    }   
}


 

狀況二:去除任何的 query string

網址中若帶有任何的 query string

都馬上去除 全部 query string ,並 301轉址

例如:

http://www.abc.com/123.jpg?v=aaa&no=xyz

會馬上 301 轉址為

http://www.abc.com/123.jpg

location ~ / {
::
    if ($query_string != "") {
        rewrite ^(.*)$ $uri? permanent;
    }

}