詳解Nginx幾種常見(jiàn)實(shí)現(xiàn)301重定向方法上的區(qū)別
Nginx下常見(jiàn)的301跳轉(zhuǎn)有以下三種,雖然都能達(dá)到同樣的目的。但是三種寫(xiě)法上還是有區(qū)別的,主要的區(qū)別是在正則匹配的性能上。
第一種:使用rewrite指令,通過(guò)正則匹配所有的URI后再去掉開(kāi)頭第一個(gè)/(反斜線)。
rewrite ^/(.*)$ https://www.hi-linux.com/$1;
第二種:同樣使用rewrite指令,不同的是通過(guò)$request_uri變量匹配所有的URI。
rewrite ^ https://www.hi-linux.com$request_uri? permanent;
這樣寫(xiě)的好處是省去了去掉開(kāi)頭第一個(gè)反斜線的過(guò)程,正則匹配上性能更優(yōu)。
第三種:使用return指令,通過(guò)301狀態(tài)碼和$request_uri參數(shù),直接告訴Nginx這是個(gè)301重定向和抓取指定URI。
return 301 https://www.hi-linux.com$request_uri;
這種方法是性能上最優(yōu)的,因?yàn)閞ewrite指令有很多寫(xiě)法和規(guī)則,執(zhí)行完所有正則匹配后,Nginx 才會(huì)知道這是一個(gè)301永久重定向。
通過(guò)以上三種寫(xiě)法介紹,我們可以看出return指令在301跳轉(zhuǎn)上比rewrite指令性能上更加有優(yōu)勢(shì)。雖然在訪問(wèn)量不大的情況下幾種寫(xiě)法的性能表現(xiàn)上區(qū)別并不大,不過(guò)在海量訪問(wèn)中一個(gè)小小的優(yōu)化也能在提升業(yè)務(wù)系統(tǒng)性能上起到不小的作用喲!希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
分割nginx日志的實(shí)現(xiàn)(避免日志多大)
nginx默認(rèn)沒(méi)有提供對(duì)日志文件的分割功能,所以隨著時(shí)間的增長(zhǎng),access.log和error.log文件會(huì)越來(lái)越大,本文主要介紹了分割nginx日志的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04Nginx Rewrite規(guī)則與使用介紹和技巧實(shí)例
這篇文章主要介紹了Nginx Rewrite規(guī)則與使用介紹和技巧實(shí)例,本文講解了正則表達(dá)式匹配、文件及目錄匹配、flag標(biāo)記、Nginx Rewrite相關(guān)指令等內(nèi)容,需要的朋友可以參考下2015-01-01使用Docker實(shí)現(xiàn)Nginx反向代理
本文主要介紹了使用Docker實(shí)現(xiàn)Nginx反向代理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06Nginx方向代理wss或ws的實(shí)現(xiàn)示例
本文主要介紹了Nginx方向代理wss或ws的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10Nginx 路由轉(zhuǎn)發(fā)和反向代理location配置實(shí)現(xiàn)
本文主要介紹了Nginx 路由轉(zhuǎn)發(fā)和反向代理location配置實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11Nginx配置80端口訪問(wèn)8080及項(xiàng)目名地址方法解析
這篇文章主要介紹了Nginx配置80端口訪問(wèn)8080及項(xiàng)目名地址方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09