Nginx 301 重定向實現不帶www跳轉到www

Nginx 301 重定向實現不帶www跳轉到www

要求實現這種功能。
在這裏插入圖片描述

實現步驟如下:

打開nginx配置文件 cd /etc/nginx/sites-available 有些可能在nginx.conf裏面

在配置文件裏添加了一個server(如第一個紅色區域)

在這裏插入圖片描述

即可以實現。。
注意:在瀏覽器測試的時候要清除cookie和歷史記錄
參考:https://www.jb51.net/article/62999.htm
https://blog.csdn.net/qingjiaoforever/article/details/51393528?utm_source=blogxgwz0

Nginx下常見的301跳轉有以下三種,雖然都能達到同樣的目的。但是三種寫法上還是有區別的,主要的區別是在正則匹配的性能上。
第一種:使用rewrite指令,通過正則匹配所有的URI後再去掉開頭第一個/(反斜線)。

rewrite ^/(.*)$ https://www.hi-linux.com/$1;

第二種:同樣使用rewrite指令,不同的是通過$request_uri變量匹配所有的URI。

rewrite ^ https://www.hi-linux.com$request_uri? permanent;

第三種:使用return指令,通過301狀態碼和$request_uri參數,直接告訴Nginx這是個301重定向和抓取指定URI。

return 301 https://www.hi-linux.com$request_uri;

這種方法是性能上最優的,因爲rewrite指令有很多寫法和規則,執行完所有正則匹配後,Nginx 纔會知道這是一個301永久重定向。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章